From 35ab776df7b6a5436a8062463a2697f2f4f2752c Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 6 Apr 2014 12:18:05 +0000 Subject: [PATCH] [SC] - Remove dead code - Fix check for memory deallocation - Don't leak resource CID #500056 CID #500057 CID #501497 CID #716313 svn path=/trunk/; revision=62645 --- reactos/base/applications/sc/query.c | 8 ++++---- reactos/base/applications/sc/start.c | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/reactos/base/applications/sc/query.c b/reactos/base/applications/sc/query.c index a0d8abae009..3df799425ce 100644 --- a/reactos/base/applications/sc/query.c +++ b/reactos/base/applications/sc/query.c @@ -135,15 +135,18 @@ EnumServices(ENUM_SERVICE_STATUS_PROCESS **pServiceStatus, &ResumeHandle, 0)) { + CloseServiceHandle(hSCManager); return NumServices; } } } ReportLastError(); - if (pServiceStatus) + if (*pServiceStatus) HeapFree(GetProcessHeap(), 0, *pServiceStatus); + CloseServiceHandle(hSCManager); + return NumServices; } @@ -237,8 +240,5 @@ Query(LPCTSTR *ServiceArgs, } } - if (pServiceStatus) - HeapFree(GetProcessHeap(), 0, pServiceStatus); - return TRUE; } diff --git a/reactos/base/applications/sc/start.c b/reactos/base/applications/sc/start.c index bc1c9100c5a..a5510561178 100644 --- a/reactos/base/applications/sc/start.c +++ b/reactos/base/applications/sc/start.c @@ -74,7 +74,6 @@ BOOL Start(LPCTSTR ServiceName, LPCTSTR *ServiceArgs, INT ArgCount) fail: ReportLastError(); - if (pServiceInfo) HeapFree(GetProcessHeap(), 0, pServiceInfo); if (hSc) CloseServiceHandle(hSc); if (hSCManager) CloseServiceHandle(hSCManager); return FALSE;