Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27ea54d1944161d254053cf33541290d > files > 31

ksh-20100621-5.el5_8.1.src.rpm

diff -up ksh-20100621/src/cmd/ksh93/bltins/typeset.c.fixcrash ksh-20100621/src/cmd/ksh93/bltins/typeset.c
--- ksh-20100621/src/cmd/ksh93/bltins/typeset.c.fixcrash	2010-06-04 16:54:56.000000000 +0200
+++ ksh-20100621/src/cmd/ksh93/bltins/typeset.c	2011-01-05 16:37:29.349014199 +0100
@@ -308,6 +308,7 @@ int    b_typeset(int argc,register char 
 			case 'p':
 				tdata.prefix = argv[0];
 				tdata.pflag = 1;
+				flag &= ~NV_ASSIGN;
 				break;
 			case 'r':
 				flag |= NV_RDONLY;
@@ -517,7 +518,7 @@ static int     b_common(char **argv,regi
 				path_alias(np,path_absolute(nv_name(np),NIL(Pathcomp_t*)));
 				continue;
 			}
-			np = nv_open(name,troot,nvflags|NV_ARRAY);
+			np = nv_open(name,troot,nvflags|((nvflags&NV_ASSIGN)?0:NV_ARRAY));
 			if(nv_isnull(np) && nv_isattr(np,NV_NOFREE))
 				nv_offattr(np,NV_NOFREE);
 			if(tp->pflag)