Andrew Nguyen : kernel32/tests: Free environment block in the child process when it is unused.

Alexandre Julliard julliard at winehq.org
Mon Jan 17 10:59:48 CST 2011


Module: wine
Branch: master
Commit: ba7f7046ee9de1a3bb16c9910f8b8cf943d9107e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ba7f7046ee9de1a3bb16c9910f8b8cf943d9107e

Author: Andrew Nguyen <anguyen at codeweavers.com>
Date:   Sun Jan 16 04:35:21 2011 -0600

kernel32/tests: Free environment block in the child process when it is unused.

---

 dlls/kernel32/tests/process.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index e067471..a0ad79e 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -249,8 +249,8 @@ static void     doChild(const char* file, const char* option)
     STARTUPINFOA        siA;
     STARTUPINFOW        siW;
     int                 i;
-    char*               ptrA;
-    WCHAR*              ptrW;
+    char                *ptrA, *ptrA_save;
+    WCHAR               *ptrW, *ptrW_save;
     char                bufA[MAX_PATH];
     WCHAR               bufW[MAX_PATH];
     HANDLE              hFile = CreateFileA(file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0);
@@ -311,7 +311,7 @@ static void     doChild(const char* file, const char* option)
     childPrintf(hFile, "CommandLineW=%s\n\n", encodeW(GetCommandLineW()));
 
     /* output of environment (Ansi) */
-    ptrA = GetEnvironmentStringsA();
+    ptrA_save = ptrA = GetEnvironmentStringsA();
     if (ptrA)
     {
         char    env_var[MAX_LISTED_ENV_VAR];
@@ -326,10 +326,11 @@ static void     doChild(const char* file, const char* option)
             ptrA += strlen(ptrA) + 1;
         }
         childPrintf(hFile, "len=%d\n\n", i);
+        FreeEnvironmentStringsA(ptrA_save);
     }
 
     /* output of environment (Unicode) */
-    ptrW = GetEnvironmentStringsW();
+    ptrW_save = ptrW = GetEnvironmentStringsW();
     if (ptrW)
     {
         WCHAR   env_var[MAX_LISTED_ENV_VAR];
@@ -345,6 +346,7 @@ static void     doChild(const char* file, const char* option)
             ptrW += lstrlenW(ptrW) + 1;
         }
         childPrintf(hFile, "len=%d\n\n", i);
+        FreeEnvironmentStringsW(ptrW_save);
     }
 
     childPrintf(hFile, "[Misc]\n");




More information about the wine-cvs mailing list