[PATCH 1/1] kernel32: Fix some memory leaks in set_wow64_environment().

Henri Verbeet hverbeet at gmail.com
Wed Dec 22 02:03:13 CST 2010


---
 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 );
 }
-- 
1.7.2.3




More information about the wine-patches mailing list