about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch')
-rw-r--r--nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch b/nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch
new file mode 100644
index 000000000000..85145f45c37d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/gis/grass/clang-integer-conversion.patch
@@ -0,0 +1,21 @@
+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."),