Module: wine Branch: master Commit: 474276d5691337fbceaa62bf7b322c8761cea231 URL: http://source.winehq.org/git/wine.git/?a=commit;h=474276d5691337fbceaa62bf7b...
Author: James Hawkins truiken@gmail.com Date: Sun Mar 22 14:32:22 2009 -0700
cmd: Fix a memory leak (Coverity 904).
---
programs/cmd/wcmdmain.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index f90ca8c..c58077b 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -699,8 +699,8 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start, WCHAR *forVar, WCHAR *forVal) { WCHAR *searchIn; WCHAR *searchFor;
- s = WCMD_strdupW(endOfVar + 1); if (equalspos == NULL) return start+1; + s = WCMD_strdupW(endOfVar + 1);
/* Null terminate both strings */ thisVar[strlenW(thisVar)-1] = 0x00; @@ -712,7 +712,6 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start, WCHAR *forVar, WCHAR *forVal) { searchFor = WCMD_strdupW(colonpos+1); CharUpperBuff(searchFor, strlenW(colonpos+1));
- /* Handle wildcard case */ if (*(colonpos+1) == '*') { /* Search for string to replace */ @@ -723,7 +722,6 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start, WCHAR *forVar, WCHAR *forVal) { strcpyW(start, replacewith); strcatW(start, thisVarContents + (found-searchIn) + strlenW(searchFor+1)); strcatW(start, s); - free(s); } else { /* Copy as it */ strcpyW(start, thisVarContents); @@ -749,6 +747,7 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start, WCHAR *forVar, WCHAR *forVal) { thisVarContents + (lastFound-searchIn)); strcatW(outputposn, s); } + free(s); free(searchIn); free(searchFor); return start;