fix overflow in subshell loop
This commit is contained in:
parent
eb2dbb25ae
commit
a2f502032f
56
ksh-20130628-longer.patch
Normal file
56
ksh-20130628-longer.patch
Normal file
@ -0,0 +1,56 @@
|
||||
diff -up ksh-20120801/src/cmd/ksh93/include/defs.h.longer ksh-20120801/src/cmd/ksh93/include/defs.h
|
||||
--- ksh-20120801/src/cmd/ksh93/include/defs.h.longer 2012-06-25 20:47:47.000000000 +0200
|
||||
+++ ksh-20120801/src/cmd/ksh93/include/defs.h 2014-01-17 13:10:49.624714556 +0100
|
||||
@@ -162,8 +162,8 @@ struct shared
|
||||
Namval_t *prev_table; /* previous table used in nv_open */ \
|
||||
Sfio_t *outpool; /* ouput stream pool */ \
|
||||
long timeout; /* read timeout */ \
|
||||
- short curenv; /* current subshell number */ \
|
||||
- short jobenv; /* subshell number for jobs */ \
|
||||
+ long curenv; /* current subshell number */ \
|
||||
+ long jobenv; /* subshell number for jobs */ \
|
||||
int infd; /* input file descriptor */ \
|
||||
short nextprompt; /* next prompt is PS<nextprompt> */ \
|
||||
short poolfiles; \
|
||||
diff -up ksh-20120801/src/cmd/ksh93/include/jobs.h.longer ksh-20120801/src/cmd/ksh93/include/jobs.h
|
||||
--- ksh-20120801/src/cmd/ksh93/include/jobs.h.longer 2011-12-19 13:36:37.000000000 +0100
|
||||
+++ ksh-20120801/src/cmd/ksh93/include/jobs.h 2014-01-17 13:10:49.625714536 +0100
|
||||
@@ -87,7 +87,7 @@ struct process
|
||||
unsigned short p_exit; /* exit value or signal number */
|
||||
unsigned short p_exitmin; /* minimum exit value for xargs */
|
||||
unsigned short p_flag; /* flags - see below */
|
||||
- int p_env; /* subshell environment number */
|
||||
+ long p_env; /* subshell environment number */
|
||||
#ifdef JOBS
|
||||
off_t p_name; /* history file offset for command */
|
||||
struct termios p_stty; /* terminal state for job */
|
||||
diff -up ksh-20120801/src/cmd/ksh93/sh/subshell.c.longer ksh-20120801/src/cmd/ksh93/sh/subshell.c
|
||||
--- ksh-20120801/src/cmd/ksh93/sh/subshell.c.longer 2014-01-17 13:10:49.559715864 +0100
|
||||
+++ ksh-20120801/src/cmd/ksh93/sh/subshell.c 2014-01-17 13:13:41.392290104 +0100
|
||||
@@ -98,7 +98,7 @@ static struct subshell
|
||||
#endif /* SHOPT_COSHELL */
|
||||
} *subshell_data;
|
||||
|
||||
-static int subenv;
|
||||
+static long subenv;
|
||||
|
||||
|
||||
/*
|
||||
@@ -171,7 +171,7 @@ void sh_subfork(void)
|
||||
{
|
||||
register struct subshell *sp = subshell_data;
|
||||
Shell_t *shp = sp->shp;
|
||||
- int curenv = shp->curenv;
|
||||
+ long curenv = shp->curenv;
|
||||
pid_t pid;
|
||||
char *trap = shp->st.trapcom[0];
|
||||
if(trap)
|
||||
@@ -461,7 +461,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
|
||||
struct subshell sub_data;
|
||||
register struct subshell *sp = &sub_data;
|
||||
int jmpval,nsig=0,duped=0;
|
||||
- int savecurenv = shp->curenv;
|
||||
+ long savecurenv = shp->curenv;
|
||||
int savejobpgid = job.curpgid;
|
||||
int *saveexitval = job.exitval;
|
||||
int16_t subshell;
|
7
ksh.spec
7
ksh.spec
@ -6,7 +6,7 @@ URL: http://www.kornshell.com/
|
||||
Group: System Environment/Shells
|
||||
License: EPL
|
||||
Version: 20120801
|
||||
Release: 13%{?dist}
|
||||
Release: 14%{?dist}
|
||||
Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz
|
||||
Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz
|
||||
Source2: kshcomp.conf
|
||||
@ -29,6 +29,7 @@ Patch8: ksh-20120801-kshmfix.patch
|
||||
Patch9: ksh-20120801-memlik.patch
|
||||
Patch10: ksh-20120801-mtty.patch
|
||||
Patch11: ksh-20120801-argvfix.patch
|
||||
Patch12: ksh-20130628-longer.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Conflicts: pdksh
|
||||
@ -59,6 +60,7 @@ with "sh" (the Bourne Shell).
|
||||
%patch9 -p1 -b .memlik
|
||||
%patch10 -p1 -b .mtty
|
||||
%patch11 -p1 -b .argvfix
|
||||
%patch12 -p1 -b .longer
|
||||
|
||||
#/dev/fd test does not work because of mock
|
||||
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
|
||||
@ -153,6 +155,9 @@ fi
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Fri Jan 17 2014 Michal Hlavinka <mhlavink@redhat.com> - 20120801-14
|
||||
- fix overflow in subshell loop
|
||||
|
||||
* Mon Jan 06 2014 Michal Hlavinka <mhlavink@redhat.com> - 20120801-13
|
||||
- fix argv rewrite (#1047508)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user