Blame SPECS/ksh-20120801-subshell-leak.patch

Packit 992a25
diff --git a/src/cmd/ksh93/sh/path.c b/src/cmd/ksh93/sh/path.c
Packit 992a25
index d723987..9965bf5 100644
Packit 992a25
--- a/src/cmd/ksh93/sh/path.c
Packit 992a25
+++ b/src/cmd/ksh93/sh/path.c
Packit 992a25
@@ -1791,8 +1791,12 @@ void path_alias(register Namval_t *np,register Pathcomp_t *pp)
Packit 992a25
 	{
Packit 992a25
 		struct stat statb;
Packit 992a25
 		char *sp;
Packit 992a25
+		Pathcomp_t *old = 0;
Packit 992a25
 		nv_offattr(np,NV_NOPRINT);
Packit 992a25
 		nv_stack(np,&talias_init);
Packit 992a25
+		old = (Pathcomp_t*)np->nvalue.cp;
Packit 992a25
+		if (old && (--old->refcount <= 0))
Packit 992a25
+			free((void*)old);
Packit 992a25
 		np->nvalue.cp = (char*)pp;
Packit 992a25
 		pp->refcount++;
Packit 992a25
 		nv_setattr(np,NV_TAGGED|NV_NOFREE);
Packit 992a25
-- 
Packit 992a25
2.9.3
Packit 992a25