[2/2] cmd: Replace malloc() with HeapAlloc().

Francois Gouget fgouget at free.fr
Thu May 14 18:54:03 CDT 2009


---

 programs/cmd/builtins.c |    2 +-
 programs/cmd/wcmdmain.c |    9 ++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index bcdf840..0e99f52 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -1033,7 +1033,7 @@ void WCMD_part_execute(CMD_LIST **cmdList, WCHAR *firstcmd, WCHAR *variable,
   if (conditionTRUE && firstcmd && *firstcmd) {
     WCHAR *command = WCMD_strdupW(firstcmd);
     WCMD_execute (firstcmd, (*cmdList)->redirects, variable, value, cmdList);
-    free (command);
+    HeapFree(GetProcessHeap(), 0, command);
   }
 
 
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index a442fd0..d19393c 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -416,8 +416,7 @@ static void WCMD_show_prompt (void) {
  */
 WCHAR *WCMD_strdupW(WCHAR *input) {
    int len=strlenW(input)+1;
-   /* Note: Use malloc not HeapAlloc to emulate strdup */
-   WCHAR *result = malloc(len * sizeof(WCHAR));
+   WCHAR *result = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
    memcpy(result, input, len * sizeof(WCHAR));
    return result;
 }
@@ -749,9 +748,9 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start, WCHAR *forVar, WCHAR *forVal) {
                 thisVarContents + (lastFound-searchIn));
         strcatW(outputposn, s);
       }
-      free(s);
-      free(searchIn);
-      free(searchFor);
+      HeapFree(GetProcessHeap(), 0, s);
+      HeapFree(GetProcessHeap(), 0, searchIn);
+      HeapFree(GetProcessHeap(), 0, searchFor);
       return start;
     }
     return start+1;
-- 
1.6.2.1




More information about the wine-patches mailing list