22 lines
857 B
Diff
22 lines
857 B
Diff
|
diff -ur a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c
|
||
|
--- a/db/drivers/mysql/db.c 1969-12-31 19:00:01.000000000 -0500
|
||
|
+++ b/db/drivers/mysql/db.c 2023-11-09 23:26:25.329700495 -0500
|
||
|
@@ -52,9 +52,16 @@
|
||
|
|
||
|
db_get_login2("mysql", name, &user, &password, &host, &port);
|
||
|
|
||
|
+ const char* errstr;
|
||
|
+ unsigned int port_number = (unsigned int)strtonum(port, 0, 65536, &errstr);
|
||
|
+ if (errstr != NULL) {
|
||
|
+ db_d_append_error("%s", errstr);
|
||
|
+ return DB_FAILED;
|
||
|
+ }
|
||
|
+
|
||
|
connection = mysql_init(NULL);
|
||
|
res = mysql_real_connect(connection, host, user, password,
|
||
|
- connpar.dbname, port, NULL, 0);
|
||
|
+ connpar.dbname, port_number, NULL, 0);
|
||
|
|
||
|
if (res == NULL) {
|
||
|
db_d_append_error("%s\n%s", _("Connection failed."),
|