diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-10-18 10:55:42 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2010-10-18 10:55:42 +0800 |
commit | 016b529d2b114efc6cd91fe4e3e4767ba615870a (patch) | |
tree | 5588b6c7ee923a375c5f0922b46dea016f720e4b /src | |
parent | [BUILTIN] Fix EXEXEC status clobbering (diff) | |
download | dash-016b529d2b114efc6cd91fe4e3e4767ba615870a.tar.gz dash-016b529d2b114efc6cd91fe4e3e4767ba615870a.zip |
[EXPAND] Fix ifsfirst/ifslastp leak in casematch
The commit f42e443bb511ed3224f09b4fcf0772438ebdbbfa [EXPAND] Fix ifsfirst/ifslastp leak revealed yet another ifsfirst/ifslastp leak in casematch. Previously it was hidden because ifsfirst/ifslastp was cleared unconditionally on entry (which caused the leakage of those entries). Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src')
-rw-r--r-- | src/expand.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expand.c b/src/expand.c index d6c6416..1b77b7c 100644 --- a/src/expand.c +++ b/src/expand.c @@ -1679,6 +1679,7 @@ casematch(union node *pattern, char *val) STARTSTACKSTR(expdest); argstr(pattern->narg.text, EXP_TILDE | EXP_CASE); STACKSTRNUL(expdest); + ifsfree(); result = patmatch(stackblock(), val); popstackmark(&smark); return result; |