summaryrefslogtreecommitdiffstats
path: root/SOURCES/bash-3.2-longjmp.dif
diff options
context:
space:
mode:
authorPete Travis <immanetize@fedoraproject.org>2014-10-01 11:54:54 -0600
committerPete Travis <immanetize@fedoraproject.org>2014-10-01 11:54:54 -0600
commitb7fb238e0ec327db793aefa670ffedb8cbd63f0b (patch)
treed795a1fa84fedd491d912cd97c26d80ec523c1fa /SOURCES/bash-3.2-longjmp.dif
parent08b01b8f3f227bda87ee2591c7e6ccb379fad187 (diff)
downloadrpmbuild-sles11.1-bash.tar.gz
rpmbuild-sles11.1-bash.tar.xz
rpmbuild-sles11.1-bash.zip
starting bash bracnch for sles 11.1sles11.1-bash
Diffstat (limited to 'SOURCES/bash-3.2-longjmp.dif')
-rw-r--r--SOURCES/bash-3.2-longjmp.dif43
1 files changed, 43 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..6dedd33
--- /dev/null
+++ b/SOURCES/bash-3.2-longjmp.dif
@@ -0,0 +1,43 @@
+--- execute_cmd.c.mm 2008-04-22 14:03:07.000000000 +0000
++++ execute_cmd.c 2008-04-28 01:38:19.000000000 +0000
+@@ -24,6 +24,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)
+@@ -4013,6 +4014,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 ();
+@@ -4055,6 +4073,8 @@ shell_execve (command, args, env)
+
+ longjmp (subshell_top_level, 1);
+ /*NOTREACHED*/
++#endif
++ return (EX_NOEXEC);
+ }
+
+ static int