[ros-diffs] [janderwald] 39420: - Fix returned length for RGetServiceKeyNameW - Perform parameters check in right order in ROpenServiceW

janderwald at svn.reactos.org janderwald at svn.reactos.org
Thu Feb 5 21:18:12 CET 2009


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/rpcserver.c?rev=39420&r1=39419&r2=39420&view=diff
==============================================================================
--- 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;
 }



More information about the Ros-diffs mailing list