dmtcp: fix buffer overflow due to too long ld-linux.so path
fixes #29565
This commit is contained in:
parent
d63b59adf9
commit
5c18c55062
@ -13,15 +13,14 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
|
patches = [ ./ld-linux-so-buffer-size.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
|
||||||
substituteInPlace configure \
|
substituteInPlace configure \
|
||||||
--replace '#define ELF_INTERPRETER "$interp"' \
|
--replace '#define ELF_INTERPRETER "$interp"' \
|
||||||
"#define ELF_INTERPRETER \"$(cat $NIX_CC/nix-support/dynamic-linker)\""
|
"#define ELF_INTERPRETER \"$(cat $NIX_CC/nix-support/dynamic-linker)\""
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
substituteInPlace src/dmtcp_coordinator.cpp \
|
substituteInPlace src/dmtcp_coordinator.cpp \
|
||||||
--replace /bin/bash ${stdenv.shell}
|
--replace /bin/bash ${stdenv.shell}
|
||||||
substituteInPlace util/gdb-add-symbol-file \
|
substituteInPlace util/gdb-add-symbol-file \
|
||||||
|
11
pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch
Normal file
11
pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch
Normal 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);
|
Loading…
x
Reference in New Issue
Block a user