--- trunk/reactos/subsys/system/msconfig/srvpage.c 2005-11-13 23:05:41 UTC (rev 19214)
+++ trunk/reactos/subsys/system/msconfig/srvpage.c 2005-11-13 23:21:38 UTC (rev 19215)
@@ -156,6 +156,12 @@
}
}
+ if (pServiceFailureActions != NULL)
+ {
+ HeapFree(GetProcessHeap(), 0, pServiceFailureActions);
+ pServiceFailureActions = NULL;
+ }
+
/* get vendor of service binary */
BytesNeeded = 0;
if (!QueryServiceConfig(hService, pServiceConfig, 0, &BytesNeeded))
@@ -188,7 +194,10 @@
_tcscpy(FileName, pServiceConfig->lpBinaryPathName);
}
- dwLen = GetFileVersionInfoSize(FileName, &dwHandle);
+ HeapFree(GetProcessHeap(), 0, pServiceConfig);
+ pServiceConfig = NULL;
+
+ dwLen = GetFileVersionInfoSize(FileName, &dwHandle);
if (dwLen)
{
lpData = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, dwLen);
@@ -212,6 +221,7 @@
item.iSubItem = 2;
SendMessage(hServicesListCtrl, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);
}
+ HeapFree(GetProcessHeap(), 0, lpData);
}
else
{
@@ -232,8 +242,6 @@
}
HeapFree(GetProcessHeap(), 0, pServiceStatus);
- HeapFree(GetProcessHeap(), 0, pServiceConfig);
- HeapFree(GetProcessHeap(), 0, pServiceFailureActions);
CloseServiceHandle(ScHandle);
}