From 016b529d2b114efc6cd91fe4e3e4767ba615870a Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Mon, 18 Oct 2010 10:55:42 +0800 Subject: [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 --- ChangeLog | 4 ++++ src/expand.c | 1 + 2 files changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2faaedd..5ace9ff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-10-18 Herbert Xu + + * Fix ifsfirst/ifslastp leak in casematch. + 2010-10-07 Herbert Xu * Fix EXEXEC status clobbering. 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; -- cgit 1.4.1