From 521d11fb6231c9a133015e40b92a7f649d84809a Mon Sep 17 00:00:00 2001 From: Tomas Smetana Date: Apr 23 2007 07:59:50 +0000 Subject: New upstream sources, fixed #182397, fixed memory leak --- diff --git a/.cvsignore b/.cvsignore index b1fe1f5..350cad1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,6 @@ ast-base-locale.2007-01-11.tgz ast-ksh.2007-01-11.tgz INIT.2007-01-11.tar +INIT.2007-03-28.tgz +ast-ksh.2007-03-28.tgz +ast-base-locale.2007-03-28.tgz diff --git a/ksh-20070328-leak.patch b/ksh-20070328-leak.patch new file mode 100644 index 0000000..85ed456 --- /dev/null +++ b/ksh-20070328-leak.patch @@ -0,0 +1,20 @@ +--- ksh-20070328/src/cmd/ksh93/sh/xec.c.orig 2007-04-19 08:54:10.000000000 +0200 ++++ ksh-20070328/src/cmd/ksh93/sh/xec.c 2007-04-19 08:55:56.000000000 +0200 +@@ -1190,6 +1190,8 @@ + } + sh_popcontext(&buff); + sh_iorestore(buff.topfd,jmpval); ++ if(buff.olist) ++ free_list(buff.olist); + if(type&FPIN) + { + job.waitall = waitall; +@@ -2878,6 +2880,8 @@ + else + exitset(); + sh_popcontext(&buff); ++ if(buff.olist) ++ free_list(buff.olist); + #ifdef SIGTSTP + if(jobwasset) + { diff --git a/ksh-20070328-loginsh.patch b/ksh-20070328-loginsh.patch new file mode 100644 index 0000000..5afe1c9 --- /dev/null +++ b/ksh-20070328-loginsh.patch @@ -0,0 +1,13 @@ +--- ksh-20070328/src/cmd/ksh93/sh/init.c.loginsh 2007-04-17 13:49:15.000000000 +0200 ++++ ksh-20070328/src/cmd/ksh93/sh/init.c 2007-04-17 13:49:54.000000000 +0200 +@@ -790,6 +790,10 @@ + register const char* s; + register int t = 0; + ++ if (*path == '-') ++ { ++ t |= SH_TYPE_LOGIN; ++ } + if (s = (const char*)strrchr(path, '/')) + s++; + else diff --git a/ksh-20070328-uname.patch b/ksh-20070328-uname.patch new file mode 100644 index 0000000..1d23255 --- /dev/null +++ b/ksh-20070328-uname.patch @@ -0,0 +1,15 @@ +--- ksh-20070328/src/lib/libcmd/uname.c.uname_fix 2007-04-17 13:39:44.000000000 +0200 ++++ ksh-20070328/src/lib/libcmd/uname.c 2007-04-17 13:41:24.000000000 +0200 +@@ -446,11 +446,7 @@ + if (flags & OPT_domain) + { + if (!*(s = astconf("SRPC_DOMAIN", NiL, NiL))) +-#if _lib_getdomainname +- getdomainname(s, sizeof(buf)); +-#else +- /*NOP*/; +-#endif ++ s = ut.__domainname; + output(OPT_domain, s, "domain"); + } + #if _mem_m_type_utsname diff --git a/ksh-20070328-useex.patch b/ksh-20070328-useex.patch new file mode 100644 index 0000000..5314c33 --- /dev/null +++ b/ksh-20070328-useex.patch @@ -0,0 +1,52 @@ +--- ksh-20070328/bin/mamprobe.useex 2007-04-17 13:45:27.000000000 +0200 ++++ ksh-20070328/bin/mamprobe 2007-04-17 13:46:14.000000000 +0200 +@@ -200,14 +200,15 @@ + + # STD* are standard commands/flags with possible execrate(1) + +-if ( +-ed < /dev/null 2>&1 +-then STDED=ed +-else STDED=ex +-fi ++#if ( ++#ed < /dev/null 2>&1 ++#then STDED=ed ++#else STDED=ex ++#fi ++STDED=ex + STDEDFLAGS=- + set STDCAT cat STDCHMOD chmod STDCMP cmp STDCP cp STDLN ln STDMV mv STDRM rm + while : +--- ksh-20070328/src/cmd/INIT/mamprobe.sh.useex 2007-04-17 13:46:45.000000000 +0200 ++++ ksh-20070328/src/cmd/INIT/mamprobe.sh 2007-04-17 13:47:24.000000000 +0200 +@@ -219,14 +219,15 @@ + + # STD* are standard commands/flags with possible execrate(1) + +-if ( +-ed < /dev/null 2>&1 +-then STDED=ed +-else STDED=ex +-fi ++#if ( ++#ed < /dev/null 2>&1 ++#then STDED=ed ++#else STDED=ex ++#fi ++STDED=ex + STDEDFLAGS=- + set STDCAT cat STDCHMOD chmod STDCMP cmp STDCP cp STDLN ln STDMV mv STDRM rm + while : diff --git a/ksh.spec b/ksh.spec index fec909d..78b979f 100644 --- a/ksh.spec +++ b/ksh.spec @@ -1,5 +1,5 @@ #ExclusiveArch: x86_64 -%define releasedate 2007-01-11 +%define releasedate 2007-03-28 #ExcludeArch: ia64 Name: ksh @@ -7,15 +7,17 @@ Summary: The Original ATT Korn Shell URL: http://www.kornshell.com/ Group: Applications/Shells License: Common Public License Version 1.0 -Version: 20070111 +Version: 20070328 Release: 1 #Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.linux.i386.tgz Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz -Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tar +Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz Source2: http://www.research.att.com/~gsf/download/tgz/ast-base-locale.%{releasedate}.tgz Patch0: ksh-20041225-gcc4.patch -Patch1: ksh-20070111-uname.patch -Patch2: ksh-20070111-useex.patch +Patch1: ksh-20070328-uname.patch +Patch2: ksh-20070328-useex.patch +Patch3: ksh-20070328-loginsh.patch +Patch4: ksh-20070328-leak.patch # for debugging only: #Patch100: ksh-20060124-iffedebug.patch @@ -40,6 +42,8 @@ with "sh" (the Bourne Shell). %patch0 -p1 -b .gcc4 %patch1 -p1 -b .uname %patch2 -p1 -b .use_ex +%patch3 -p1 -b .loginsh +%patch4 -p1 -b .leak #patch100 -p1 -b .iffedebug %build @@ -99,6 +103,11 @@ fi rm -rf $RPM_BUILD_ROOT %changelog +* Thu Apr 19 2007 Tomas Smetana 20070328-1 +- new upstream source +- fix login shell invocation (#182397) +- fix memory leak + * Wed Feb 21 2007 Karsten Hopp 20070111-1 - new upstream version - fix invalid write in uname function diff --git a/sources b/sources index 56c1961..1235218 100644 --- a/sources +++ b/sources @@ -1,3 +1,6 @@ 727f240f8e56b555aa884de4a032519d ast-base-locale.2007-01-11.tgz a24a0b8d8dc81600d624e3c0f2159e38 ast-ksh.2007-01-11.tgz 4cf6a21b17748b4f586235fa289586c6 INIT.2007-01-11.tar +c257f2557e3e136c05b8e7eb0ac1aab0 INIT.2007-03-28.tgz +9227250fa6ad2235cc8665bb664cc740 ast-ksh.2007-03-28.tgz +1763efbc8217d0399f08bdeb31168e9a ast-base-locale.2007-03-28.tgz