Henri Verbeet : kernel32: Fix some memory leaks in set_wow64_environment().
Module: wine Branch: stable Commit: 5cd0ff14b9b12742ced6e14b3193ef7562c8790f URL: http://source.winehq.org/git/wine.git/?a=commit;h=5cd0ff14b9b12742ced6e14b31... Author: Henri Verbeet <hverbeet(a)gmail.com> Date: Wed Dec 22 09:03:13 2010 +0100 kernel32: Fix some memory leaks in set_wow64_environment(). (cherry picked from commit 4c200a2050ff2ec1e70e9425583d46a26336e3e7) --- 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 0538aa9..558294a 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -604,9 +604,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 */ @@ -614,9 +618,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 ); }
participants (1)
-
Alexandre Julliard