about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorStephenWithPH <StephenWithPH@users.noreply.github.com>2024-03-16 17:32:17 -0700
committerStephenWithPH <StephenWithPH@users.noreply.github.com>2024-03-18 11:12:37 -0700
commit88801dab5eff529e79f066a7bb230842b876ccb1 (patch)
tree7950540a60652958c538d2bb7ef191dc06972be8 /pkgs
parentce8e7baf9bc8e342237ed840b59e23a92e9a0b5f (diff)
libdbiDrivers: take upstream patch to prevent buffer overflow triggered by glibc 2.38 fortification
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/libdbi-drivers/default.nix5
-rw-r--r--pkgs/development/libraries/libdbi-drivers/libdbi-drivers-0.9.0-buffer_overflow.patch11
2 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix
index 461a3c0b7bbd8..04ff250e4812b 100644
--- a/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libdbi sqlite postgresql ] ++ lib.optional (libmysqlclient != null) libmysqlclient;
 
+  patches = [
+    # https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/24f48b86c8988ee3aaebc5f303d71e9d789f77b6
+    ./libdbi-drivers-0.9.0-buffer_overflow.patch
+  ];
+
   postPatch = ''
     sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure;
   '';
diff --git a/pkgs/development/libraries/libdbi-drivers/libdbi-drivers-0.9.0-buffer_overflow.patch b/pkgs/development/libraries/libdbi-drivers/libdbi-drivers-0.9.0-buffer_overflow.patch
new file mode 100644
index 0000000000000..1891c1a143baa
--- /dev/null
+++ b/pkgs/development/libraries/libdbi-drivers/libdbi-drivers-0.9.0-buffer_overflow.patch
@@ -0,0 +1,11 @@
+--- a/drivers/sqlite3/dbd_sqlite3.c
++++ b/drivers/sqlite3/dbd_sqlite3.c
+@@ -1451,7 +1451,7 @@ static int getTables(char** tables, int
+ 		    break;
+ 		  }
+ 
+-		  word_lower[item-start+1];
++		  char word_lower[item-start+1];
+ 		  strncpy(word_lower,start,item-start);
+ 		  word_lower[item-start] = '\0';
+ 		  int i = 0;