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