Author: janderwald Date: Thu Feb 5 14:18:11 2009 New Revision: 39420
URL: http://svn.reactos.org/svn/reactos?rev=39420&view=rev Log: - Fix returned length for RGetServiceKeyNameW - Perform parameters check in right order in ROpenServiceW
Modified: trunk/reactos/base/system/services/rpcserver.c
Modified: trunk/reactos/base/system/services/rpcserver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcser... ============================================================================== --- trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] (original) +++ trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] Thu Feb 5 14:18:11 2009 @@ -2445,18 +2445,18 @@ if (ScmShutdown) return ERROR_SHUTDOWN_IN_PROGRESS;
+ hManager = (PMANAGER_HANDLE)hSCManager; + if (!hManager || hManager->Handle.Tag != MANAGER_TAG) + { + DPRINT1("Invalid manager handle!\n"); + return ERROR_INVALID_HANDLE; + } + if (!lpServiceHandle) return ERROR_INVALID_PARAMETER;
if (!lpServiceName) return ERROR_INVALID_ADDRESS; - - hManager = (PMANAGER_HANDLE)hSCManager; - if (!hManager || hManager->Handle.Tag != MANAGER_TAG) - { - DPRINT1("Invalid manager handle!\n"); - return ERROR_INVALID_HANDLE; - }
/* FIXME: Lock the service list */
@@ -2872,7 +2872,7 @@
dwError = (*lpcchBuffer > dwLength) ? ERROR_SUCCESS : ERROR_INSUFFICIENT_BUFFER;
- *lpcchBuffer = dwLength * 2; + *lpcchBuffer = dwLength;
return dwError; }