From 994dea8d8a5cd72b4965331a327fdf8a222cbe50 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 6 Feb 2009 12:18:47 +0000 Subject: [PATCH] - Add more error checks svn path=/trunk/; revision=39438 --- reactos/dll/win32/advapi32/service/scm.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/reactos/dll/win32/advapi32/service/scm.c b/reactos/dll/win32/advapi32/service/scm.c index bb10b4f4a6c..a451184daa1 100644 --- a/reactos/dll/win32/advapi32/service/scm.c +++ b/reactos/dll/win32/advapi32/service/scm.c @@ -487,6 +487,12 @@ CloseServiceHandle(SC_HANDLE hSCObject) TRACE("CloseServiceHandle() called\n"); + if (!hSCObject) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + RpcTryExcept { /* Call to services.exe using RPC */ @@ -1212,6 +1218,19 @@ EnumServicesStatusExA(SC_HANDLE hSCManager, TRACE("EnumServicesStatusExA() called\n"); + if (InfoLevel != SC_ENUM_PROCESS_INFO) + { + SetLastError(ERROR_INVALID_LEVEL); + return FALSE; + } + + if (!hSCManager) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + + RpcTryExcept { dwError = REnumServicesStatusExA((SC_RPC_HANDLE)hSCManager,