Henri Verbeet : kernel32: Fix some memory leaks in set_wow64_environment().
Alexandre Julliard
julliard at winehq.org
Wed Dec 22 10:57:37 CST 2010
Module: wine
Branch: master
Commit: 4c200a2050ff2ec1e70e9425583d46a26336e3e7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c200a2050ff2ec1e70e9425583d46a26336e3e7
Author: Henri Verbeet <hverbeet at gmail.com>
Date: Wed Dec 22 09:03:13 2010 +0100
kernel32: Fix some memory leaks in set_wow64_environment().
---
dlls/kernel32/process.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 64c459a..0bc77c9 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -605,9 +605,13 @@ static void set_wow64_environment(void)
{
if (is_win64 || is_wow64) SetEnvironmentVariableW( progw6432W, value );
if (is_win64 || !is_wow64) SetEnvironmentVariableW( progfilesW, value );
+ HeapFree( GetProcessHeap(), 0, value );
}
if (is_wow64 && (value = get_reg_value( hkey, progdir86W )))
+ {
SetEnvironmentVariableW( progfilesW, value );
+ HeapFree( GetProcessHeap(), 0, value );
+ }
/* set the CommonProgramFiles variables */
@@ -615,9 +619,13 @@ static void set_wow64_environment(void)
{
if (is_win64 || is_wow64) SetEnvironmentVariableW( commonw6432W, value );
if (is_win64 || !is_wow64) SetEnvironmentVariableW( commonfilesW, value );
+ HeapFree( GetProcessHeap(), 0, value );
}
if (is_wow64 && (value = get_reg_value( hkey, commondir86W )))
+ {
SetEnvironmentVariableW( commonfilesW, value );
+ HeapFree( GetProcessHeap(), 0, value );
+ }
NtClose( hkey );
}
More information about the wine-cvs
mailing list