Detlef Riekenberg : appwiz.cpl: Do not access memory after HeapFree in FreeAppInfo.

Alexandre Julliard julliard at winehq.org
Fri Jul 25 10:52:20 CDT 2008


Module: wine
Branch: master
Commit: 8ed31e2c388a0dba291797d334ac63e2f7e46d8d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8ed31e2c388a0dba291797d334ac63e2f7e46d8d

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Fri Jul 25 16:41:38 2008 +0200

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

---

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

diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c
index a13dea1..e06d810 100644
--- a/dlls/appwiz.cpl/appwiz.c
+++ b/dlls/appwiz.cpl/appwiz.c
@@ -110,27 +110,17 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
  */
 static void FreeAppInfo(APPINFO *info)
 {
-    APPINFO *iter = 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);
-
-        if (iter->version)
-            HeapFree(GetProcessHeap(), 0, iter->version);
-
-        iter = iter->next;
-        HeapFree(GetProcessHeap(), 0, iter);
+        APPINFO *next_info = info->next;
+
+        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);
+        info = next_info;
     }
 }
 




More information about the wine-cvs mailing list