Module: wine Branch: master Commit: 8ed31e2c388a0dba291797d334ac63e2f7e46d8d URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ed31e2c388a0dba291797d334...
Author: Detlef Riekenberg wine.dev@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; } }