[MSCONFIG]

- fix possible leaks
CID #716286
CID #716287

svn path=/trunk/; revision=62677
This commit is contained in:
Kamil Hornicek 2014-04-06 21:13:18 +00:00
parent 1f6df38614
commit 094caa6e2a
2 changed files with 11 additions and 2 deletions

View file

@ -109,17 +109,22 @@ GetServices ( void )
/* reserve memory for service info array */
pServiceStatus = HeapAlloc(GetProcessHeap(), 0, BytesNeeded);
if (!pServiceStatus)
{
CloseServiceHandle(ScHandle);
return;
}
/* fill array with service info */
if (EnumServicesStatusEx(ScHandle, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_STATE_ALL, (LPBYTE)pServiceStatus, BytesNeeded, &BytesNeeded, &NumServices, &ResumeHandle, 0) == 0)
{
HeapFree(GetProcessHeap(), 0, pServiceStatus);
CloseServiceHandle(ScHandle);
return;
}
}
else /* exit on failure */
{
CloseServiceHandle(ScHandle);
return;
}
}
@ -127,7 +132,11 @@ GetServices ( void )
if (NumServices)
{
if (!pServiceStatus)
{
CloseServiceHandle(ScHandle);
return;
}
for (Index = 0; Index < NumServices; Index++)
{
memset(&item, 0, sizeof(LV_ITEM));

View file

@ -137,7 +137,7 @@ GetDisabledAutostartEntriesFromRegistry (TCHAR * szBasePath)
HeapFree(GetProcessHeap(), 0, Data);
}
}
RegCloseKey(hKey);
RegCloseKey(hKey);
}
}
@ -199,8 +199,8 @@ GetAutostartEntriesFromRegistry ( HKEY hRootKey, TCHAR* KeyName )
item.pszText = Path;
item.iSubItem = 2;
SendMessage(hStartupListCtrl, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);
HeapFree(GetProcessHeap(), 0, Data);
}
HeapFree(GetProcessHeap(), 0, Data);
}
}
RegCloseKey(hKey);