summaryrefslogtreecommitdiff
path: root/source/ap/ksh93/patches/ksh-20120801-forkbomb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/ksh93/patches/ksh-20120801-forkbomb.patch')
-rw-r--r--source/ap/ksh93/patches/ksh-20120801-forkbomb.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/ap/ksh93/patches/ksh-20120801-forkbomb.patch b/source/ap/ksh93/patches/ksh-20120801-forkbomb.patch
new file mode 100644
index 00000000..7a1a5c16
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20120801-forkbomb.patch
@@ -0,0 +1,12 @@
+diff -up ksh-20120801/src/cmd/ksh93/sh/fault.c.forkbomb ksh-20120801/src/cmd/ksh93/sh/fault.c
+--- ksh-20120801/src/cmd/ksh93/sh/fault.c.forkbomb 2013-04-30 16:20:40.237490109 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/fault.c 2013-04-30 16:21:49.961068778 +0200
+@@ -519,7 +519,7 @@ void sh_exit(register int xno)
+ if(pp && pp->mode>1)
+ cursig = -1;
+ #ifdef SIGTSTP
+- if(shp->trapnote&SH_SIGTSTP)
++ if((shp->trapnote&SH_SIGTSTP) && job.jobcontrol)
+ {
+ /* ^Z detected by the shell */
+ shp->trapnote = 0;