[ros-diffs] [janderwald] 39406: - Prevent using of uninitialized values in error case - Don't leak ServiceHandle and ServiceManagerHandle

janderwald at svn.reactos.org janderwald at svn.reactos.org
Thu Feb 5 13:56:13 CET 2009


Author: janderwald
Date: Thu Feb  5 06:56:11 2009
New Revision: 39406

URL: http://svn.reactos.org/svn/reactos?rev=39406&view=rev
Log:
- Prevent using of uninitialized values in error case
- Don't leak ServiceHandle and ServiceManagerHandle

Modified:
    trunk/reactos/base/applications/sc/query.c
    trunk/reactos/base/applications/sc/start.c

Modified: trunk/reactos/base/applications/sc/query.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sc/query.c?rev=39406&r1=39405&r2=39406&view=diff
==============================================================================
--- trunk/reactos/base/applications/sc/query.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/sc/query.c [iso-8859-1] Thu Feb  5 06:56:11 2009
@@ -26,9 +26,9 @@
 LPSERVICE_STATUS_PROCESS
 QueryService(LPCTSTR ServiceName)
 {
-    SC_HANDLE hSCManager;
+    SC_HANDLE hSCManager = NULL;
     LPSERVICE_STATUS_PROCESS pServiceInfo = NULL;
-    SC_HANDLE hSc;
+    SC_HANDLE hSc = NULL;
     DWORD BufSiz = 0;
     DWORD BytesNeeded = 0;
     DWORD Ret;
@@ -71,6 +71,8 @@
         goto fail;
     }
 
+    CloseServiceHandle(hSc);
+    CloseServiceHandle(hSCManager);
     return pServiceInfo;
 
 fail:

Modified: trunk/reactos/base/applications/sc/start.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sc/start.c?rev=39406&r1=39405&r2=39406&view=diff
==============================================================================
--- trunk/reactos/base/applications/sc/start.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/sc/start.c [iso-8859-1] Thu Feb  5 06:56:11 2009
@@ -11,8 +11,8 @@
 
 BOOL Start(LPCTSTR ServiceName, LPCTSTR *ServiceArgs, INT ArgCount)
 {
-    SC_HANDLE hSCManager;
-    SC_HANDLE hSc;
+    SC_HANDLE hSCManager = NULL;
+    SC_HANDLE hSc = NULL;
     LPSERVICE_STATUS_PROCESS pServiceInfo = NULL;
 
 #ifdef SCDBG



More information about the Ros-diffs mailing list