[PATCH] appwiz.cpl: Do not access memory after HeapFree in FreeAppInfo

Detlef Riekenberg wine.dev at web.de
Fri Jul 25 09:41:38 CDT 2008


---
 dlls/appwiz.cpl/appwiz.c |   27 ++++++++++-----------------
 1 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c
index a13dea1..e4556ce 100644
--- a/dlls/appwiz.cpl/appwiz.c
+++ b/dlls/appwiz.cpl/appwiz.c
@@ -110,27 +110,20 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
  */
 static void FreeAppInfo(APPINFO *info)
 {
-    APPINFO *iter = info;
+    APPINFO *next_info;
 
-    while (iter)
+    while (info)
     {
-        if (iter->title)
-            HeapFree(GetProcessHeap(), 0, iter->title);
-
-        if (iter->path)
-            HeapFree(GetProcessHeap(), 0, iter->path);
-
-        if (iter->icon)
-            HeapFree(GetProcessHeap(), 0, iter->icon);
-
-        if (iter->publisher)
-            HeapFree(GetProcessHeap(), 0, iter->publisher);
+        next_info = info->next;
 
-        if (iter->version)
-            HeapFree(GetProcessHeap(), 0, iter->version);
+        HeapFree(GetProcessHeap(), 0, info->title);
+        HeapFree(GetProcessHeap(), 0, info->path);
+        HeapFree(GetProcessHeap(), 0, info->icon);
+        HeapFree(GetProcessHeap(), 0, info->publisher);
+        HeapFree(GetProcessHeap(), 0, info->version);
+        HeapFree(GetProcessHeap(), 0, info);
 
-        iter = iter->next;
-        HeapFree(GetProcessHeap(), 0, iter);
+        info = next_info;
     }
 }
 
-- 
1.5.4.3


--=-GXESnuXqt455E3DG/ABJ--




More information about the wine-patches mailing list