diff options
author | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:59:35 -0600 |
---|---|---|
committer | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:59:35 -0600 |
commit | 4a895d111d1b13ddb624a8d055d217e695361447 (patch) | |
tree | 03c8d4640a38d58fbdc5c8ef5458a2613f55e3fb /SOURCES/bash-3.2-longjmp.dif | |
parent | f5afed3fb60ea2a362cfd696b9edf259ca33e1da (diff) | |
download | rpmbuild-sles11.2-bash.tar.gz rpmbuild-sles11.2-bash.tar.xz rpmbuild-sles11.2-bash.zip |
sles 11.2 bash, in wholesles11.2-bash
Diffstat (limited to 'SOURCES/bash-3.2-longjmp.dif')
-rw-r--r-- | SOURCES/bash-3.2-longjmp.dif | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/SOURCES/bash-3.2-longjmp.dif b/SOURCES/bash-3.2-longjmp.dif new file mode 100644 index 0000000..cb5ed4f --- /dev/null +++ b/SOURCES/bash-3.2-longjmp.dif @@ -0,0 +1,45 @@ +Index: execute_cmd.c +=================================================================== +--- execute_cmd.c.orig ++++ execute_cmd.c +@@ -25,6 +25,7 @@ + #endif /* _AIX && RISC6000 && !__GNUC__ */ + + #include <stdio.h> ++#include <paths.h> + #include "chartypes.h" + #include "bashtypes.h" + #if !defined (_MINIX) && defined (HAVE_SYS_FILE_H) +@@ -4764,6 +4765,23 @@ shell_execve (command, args, env) + /* We have committed to attempting to execute the contents of this file + as shell commands. */ + ++#if 1 ++ larray = strvec_len(args) + 1; ++ args = strvec_resize(args, larray + 1); ++ ++ for (i = larray - 1; i; i--) ++ args[i] = args[i - 1]; ++ ++ args[0] = savestring(_PATH_BSHELL); ++ args[1] = command; ++ args[larray] = (char *)0; ++ ++ SETOSTYPE (0); /* Some systems use for USG/POSIX semantics */ ++ execve ("/bin/sh", args, env); ++ SETOSTYPE (1); ++ ++ internal_error (_("%s: cannot execute: %s"), command, strerror (errno)); ++#else + initialize_subshell (); + + set_sigint_handler (); +@@ -4806,6 +4824,8 @@ shell_execve (command, args, env) + + longjmp (subshell_top_level, 1); + /*NOTREACHED*/ ++#endif ++ return (EX_NOEXEC); + } + + static int |