commit ksh for openSUSE:Factory
Hello community, here is the log from the commit of package ksh for openSUSE:Factory checked in at Mon Oct 11 16:30:12 CEST 2010. -------- --- ksh/ksh.changes 2010-10-08 14:55:01.000000000 +0200 +++ ksh/ksh.changes 2010-10-11 14:54:35.000000000 +0200 @@ -1,0 +2,5 @@ +Mon Oct 11 14:53:35 CEST 2010 - werner@suse.de + +- Add script for testing out the previous bug + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- ifs-crash.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ksh.spec ++++++ --- /var/tmp/diff_new_pack.Jiu2Uc/_old 2010-10-11 16:29:51.000000000 +0200 +++ /var/tmp/diff_new_pack.Jiu2Uc/_new 2010-10-11 16:29:51.000000000 +0200 @@ -37,7 +37,7 @@ %endif AutoReqProv: on Version: 93t -Release: 179 +Release: 180 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: INIT.2010-06-21.tar.bz2 @@ -46,6 +46,7 @@ Source3: CPL Source10: leak1.sh Source11: leak2.sh +Source12: ifs-crash.sh Source20: Agreement Source21: Warning Source30: rpmlintrc @@ -361,6 +362,7 @@ ${root}/bin/ksh.test shtests ${root}/bin/ksh.test %{S:10} ${root}/bin/ksh.test %{S:11} + ${root}/bin/ksh.test %{S:12} if test $((IGNORED & SIGPIPE)) -eq 0 ; then # This may fail in current factory (aka next 11.3) ${root}/bin/ksh.test -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10 ++++++ ifs-crash.sh ++++++ #!/bin/ksh trap 'echo "[${0##*/}: crash]"' SIGSEGV SIGABRT SIGBUS SIGFPE function crash { typeset L_FILE typeset L_VALIDATION typeset L_VARIABLE typeset L_MOD IFS OS=$(uname) } crash function crash2 { typeset IFS IFS='\t' true unset IFS echo a b c | while read x y z; do echo $x echo $y echo $z done } crash2 echo a b c | while read x y z; do echo $x echo $y echo $z done echo "[${0##*/}: success]" # end here ++++++ ksh93-ifs.dif ++++++ --- /var/tmp/diff_new_pack.Jiu2Uc/_old 2010-10-11 16:29:51.000000000 +0200 +++ /var/tmp/diff_new_pack.Jiu2Uc/_new 2010-10-11 16:29:51.000000000 +0200 @@ -1,37 +1,10 @@ --- src/cmd/ksh93/sh/init.c -+++ src/cmd/ksh93/sh/init.c 2010-10-08 12:43:27.123926224 +0000 -@@ -456,6 +456,8 @@ static void put_cdpath(register Namval_t - } - #endif /* _hdr_locale */ - -+static const void* ifs_hdr; -+ - /* Trap for IFS assignment and invalidates state table */ - static void put_ifs(register Namval_t* np,const char *val,int flags,Namfun_t *fp) - { -@@ -464,9 +466,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 == ifs_hdr) -+ xp->nofree = 1; -+ if(xp->nofree == 0) -+ free((void*)xp); -+ } - } - if(val != np->nvalue.cp) - nv_putv(np, val, flags, fp); -@@ -1597,6 +1604,7 @@ static Init_t *nv_init(Shell_t *shp) ++++ src/cmd/ksh93/sh/init.c Fri Oct 8 13:16:10 2010 +@@ -1709,6 +1709,7 @@ ip->LANG_init.nofree = 1; #endif /* _hdr_locale */ nv_stack(IFSNOD, &ip->IFS_init.hdr); -+ ifs_hdr = (IFSNOD)->nvfun; ++ ip->IFS_init.hdr.nofree = 1; nv_stack(PATHNOD, &ip->PATH_init); nv_stack(FPATHNOD, &ip->FPATH_init); nv_stack(CDPNOD, &ip->CDPATH_init); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de