James Hawkins : cmd: Fix a memory leak (Coverity 904).
Alexandre Julliard
julliard at winehq.org
Mon Mar 23 12:34:57 CDT 2009
Module: wine
Branch: master
Commit: 474276d5691337fbceaa62bf7b322c8761cea231
URL: http://source.winehq.org/git/wine.git/?a=commit;h=474276d5691337fbceaa62bf7b322c8761cea231
Author: James Hawkins <truiken at 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;
More information about the wine-cvs
mailing list