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