Skip to content

Commit

Permalink
Revert 096f46e ("Fix for memory mgmt in variable expansion")
Browse files Browse the repository at this point in the history
This reverts a Solaris patch (105-CR7032068) with no documentation
on what it fixes or how or why. There are reports about it causing
a crash and/or a regression:

#180 (comment)
  • Loading branch information
McDutchie committed Feb 18, 2021
1 parent 50b665b commit 8c2d8e5
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions src/cmd/ksh93/sh/macro.c
Original file line number Diff line number Diff line change
Expand Up @@ -1079,7 +1079,7 @@ static int varsub(Mac_t *mp)
{
register int c;
register int type=0; /* M_xxx */
register char *v, *new_v=0, *argp=0;
register char *v,*argp=0;
register Namval_t *np = NIL(Namval_t*);
register int dolg=0, mode=0;
Lex_t *lp = (Lex_t*)mp->shp->lex_context;
Expand Down Expand Up @@ -1458,7 +1458,6 @@ static int varsub(Mac_t *mp)
if((mp->let || (mp->arith&&nv_isattr(np,(NV_LJUST|NV_RJUST|NV_ZFILL)))) && !nv_isattr(np,NV_INTEGER) && (offset==0 || isspace(c) || strchr(",.+-*/=%&|^?!<>",c)))
mp->zeros = 1;
}
new_v = v = strdup(v);
if(savptr==stakptr(0))
stkseek(stkp,offset);
else
Expand Down Expand Up @@ -2027,8 +2026,6 @@ static int varsub(Mac_t *mp)
}
if(np)
nv_close(np);
if(new_v)
free(new_v);
if(pattern)
free(pattern);
if(repstr)
Expand All @@ -2037,8 +2034,6 @@ static int varsub(Mac_t *mp)
free(idx);
return(1);
nosub:
if(new_v)
free(new_v);
if(type==M_BRACE && sh_lexstates[ST_NORM][c]==S_BREAK)
{
fcseek(-1);
Expand Down

0 comments on commit 8c2d8e5

Please sign in to comment.