Blame SPECS/ksh-20120801-mlikfiks.patch

Packit 992a25
diff -up ksh-20120801/src/cmd/ksh93/sh/lex.c.mlikfiks ksh-20120801/src/cmd/ksh93/sh/lex.c
Packit 992a25
--- ksh-20120801/src/cmd/ksh93/sh/lex.c.mlikfiks	2013-07-22 12:45:30.923170264 +0200
Packit 992a25
+++ ksh-20120801/src/cmd/ksh93/sh/lex.c	2013-07-22 12:46:25.235556905 +0200
Packit 992a25
@@ -2465,7 +2465,7 @@ static int alias_exceptf(Sfio_t *iop,int
Packit 992a25
 			if(dp!=handle)
Packit 992a25
 				sfdisc(iop,dp);
Packit 992a25
 		}
Packit 992a25
-		else if(type==SF_FINAL)
Packit 992a25
+		else if(type==SF_DPOP || type==SF_FINAL)
Packit 992a25
 			free((void*)ap);
Packit 992a25
 		goto done;
Packit 992a25
 	}
Packit 992a25
diff -up ksh-20120801/src/cmd/ksh93/sh/path.c.mlikfiks ksh-20120801/src/cmd/ksh93/sh/path.c
Packit 992a25
--- ksh-20120801/src/cmd/ksh93/sh/path.c.mlikfiks	2013-07-22 12:47:23.149990016 +0200
Packit 992a25
+++ ksh-20120801/src/cmd/ksh93/sh/path.c	2013-07-22 12:48:33.363283877 +0200
Packit 992a25
@@ -613,6 +613,7 @@ static void funload(Shell_t *shp,int fno
Packit 992a25
 		}
Packit 992a25
 		while((rp=dtnext(shp->fpathdict,rp)) && strcmp(pname,rp->fname)==0);
Packit 992a25
 		sh_close(fno);
Packit 992a25
+		free((void*)pname);
Packit 992a25
 		return;
Packit 992a25
 	}
Packit 992a25
 	sh_onstate(SH_NOLOG);
Packit 992a25
diff -up ksh-20120801/src/cmd/ksh93/sh/macro.c.aliasfix ksh-20120801/src/cmd/ksh93/sh/macro.c
Packit 992a25
--- ksh-20120801/src/cmd/ksh93/sh/macro.c.aliasfix	2013-07-29 15:03:45.841680475 +0200
Packit 992a25
+++ ksh-20120801/src/cmd/ksh93/sh/macro.c	2013-07-29 15:04:23.871336821 +0200
Packit 992a25
@@ -2085,6 +2085,7 @@ static void comsubst(Mac_t *mp,register
Packit 992a25
 			}
Packit 992a25
 			sfputc(stkp,c);
Packit 992a25
 		}
Packit 992a25
+		sfputc(stkp,' ');
Packit 992a25
 		c = stktell(stkp);
Packit 992a25
 		str=stkfreeze(stkp,1);
Packit 992a25
 		/* disable verbose and don't save in history file */