dmtcp: fix buffer overflow due to too long ld-linux.so path

fixes #29565
This commit is contained in:
Robin Gloster 2017-09-19 13:39:40 +02:00
parent d63b59adf9
commit 5c18c55062
No known key found for this signature in database
GPG Key ID: D5C458DF6DD97EDF
2 changed files with 13 additions and 3 deletions

View File

@ -13,15 +13,14 @@ stdenv.mkDerivation rec {
dontDisableStatic = true;
patches = [ ./ld-linux-so-buffer-size.patch ];
postPatch = ''
patchShebangs .
substituteInPlace configure \
--replace '#define ELF_INTERPRETER "$interp"' \
"#define ELF_INTERPRETER \"$(cat $NIX_CC/nix-support/dynamic-linker)\""
'';
preConfigure = ''
substituteInPlace src/dmtcp_coordinator.cpp \
--replace /bin/bash ${stdenv.shell}
substituteInPlace util/gdb-add-symbol-file \

View File

@ -0,0 +1,11 @@
--- dmtcp-2.5.1-src/src/util_exec.cpp 2017-09-19 13:36:22.947587034 +0200
+++ dmtcp-2.5.1-src/src/util_exec.cpp 2017-09-19 13:36:32.221313460 +0200
@@ -178,7 +178,7 @@
static string ld_linux_so_path(int version, bool is32bitElf = false)
{
- char buf[80];
+ char buf[128];
#if (defined(__x86_64__) || defined(__aarch64__)) && !defined(CONFIG_M32)
if (is32bitElf) {
sprintf(buf, "/lib/ld-linux.so.%d", version);