.
OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=97
This commit is contained in:
parent
d35793240d
commit
5b6d55b93b
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 14 15:36:22 UTC 2012 - werner@suse.de
|
||||||
|
|
||||||
|
- Fix a nasty crash in IFS handling
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 10 17:11:36 UTC 2012 - werner@suse.de
|
Fri Feb 10 17:11:36 UTC 2012 - werner@suse.de
|
||||||
|
|
||||||
|
5
ksh.spec
5
ksh.spec
@ -19,11 +19,10 @@
|
|||||||
|
|
||||||
Name: ksh
|
Name: ksh
|
||||||
%global date 2012-02-02
|
%global date 2012-02-02
|
||||||
|
%global use_suid_exe 0
|
||||||
%if %suse_version > 1210
|
%if %suse_version > 1210
|
||||||
%global use_suid_exe 1
|
|
||||||
%global use_opt_bins 1
|
%global use_opt_bins 1
|
||||||
%else
|
%else
|
||||||
%global use_suid_exe 0
|
|
||||||
%global use_opt_bins 0
|
%global use_opt_bins 0
|
||||||
%endif
|
%endif
|
||||||
%if !0%{?qemu_user_space_build:1}
|
%if !0%{?qemu_user_space_build:1}
|
||||||
@ -469,6 +468,7 @@ fi
|
|||||||
if test $((IGNORED & SIGPIPE)) -eq 0 ; then
|
if test $((IGNORED & SIGPIPE)) -eq 0 ; then
|
||||||
${SHELL} -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
|
${SHELL} -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
|
||||||
fi
|
fi
|
||||||
|
${SHELL} -c 'function g { IFS= ; }; function f { typeset IFS; (g); : $V ; }; f; f'
|
||||||
LANG=en_US.UTF-8
|
LANG=en_US.UTF-8
|
||||||
strace $MEMORY -o '!%{S:31}' ${SHELL} %{S:10} 400
|
strace $MEMORY -o '!%{S:31}' ${SHELL} %{S:10} 400
|
||||||
strace $MEMORY -o '!%{S:31}' ${SHELL} %{S:10} 4000
|
strace $MEMORY -o '!%{S:31}' ${SHELL} %{S:10} 4000
|
||||||
@ -482,6 +482,7 @@ fi
|
|||||||
if test $((IGNORED & SIGPIPE)) -eq 0 ; then
|
if test $((IGNORED & SIGPIPE)) -eq 0 ; then
|
||||||
${SHELL} -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
|
${SHELL} -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
|
||||||
fi
|
fi
|
||||||
|
${SHELL} -c 'function g { IFS= ; }; function f { typeset IFS; (g); : $V ; }; f; f'
|
||||||
LANG=POSIX
|
LANG=POSIX
|
||||||
killall -q -s 9 ${SHELL} || true
|
killall -q -s 9 ${SHELL} || true
|
||||||
popd
|
popd
|
||||||
|
20
ksh93.dif
20
ksh93.dif
@ -487,3 +487,23 @@
|
|||||||
chmodf = lchmod;
|
chmodf = lchmod;
|
||||||
goto commit;
|
goto commit;
|
||||||
#else
|
#else
|
||||||
|
--- src/cmd/ksh93/sh/init.c
|
||||||
|
+++ src/cmd/ksh93/sh/init.c 2012-02-16 13:03:34.073933754 +0000
|
||||||
|
@@ -512,9 +512,14 @@ static void put_ifs(register Namval_t* n
|
||||||
|
ip->ifsnp = 0;
|
||||||
|
if(!val)
|
||||||
|
{
|
||||||
|
- fp = nv_stack(np, NIL(Namfun_t*));
|
||||||
|
- if(fp && !fp->nofree)
|
||||||
|
- free((void*)fp);
|
||||||
|
+ Namfun_t *xp = nv_stack(np, NIL(Namfun_t*));
|
||||||
|
+ if(xp)
|
||||||
|
+ {
|
||||||
|
+ if(xp == fp)
|
||||||
|
+ xp->nofree = 1;
|
||||||
|
+ if(xp->nofree == 0)
|
||||||
|
+ free((void*)xp);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
if(val != np->nvalue.cp)
|
||||||
|
nv_putv(np, val, flags, fp);
|
||||||
|
Loading…
Reference in New Issue
Block a user