- QueryServiceConfig2A/W: Fail if lpBuffer is NULL but cbBufSize is not 0.
[reactos.git] / reactos / dll / win32 / advapi32 / service / scm.c
index 44df545..98b51b6 100644 (file)
@@ -1831,6 +1831,12 @@ QueryServiceConfig2A(SC_HANDLE hService,
     TRACE("QueryServiceConfig2A(%p, %lu, %p, %lu, %p)\n",
            hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
 
+    if (lpBuffer == NULL && cbBufSize != 0)
+    {
+        SetLastError(ERROR_INVALID_ADDRESS);
+        return FALSE;
+    }
+
     HandleBind();
 
     _SEH_TRY
@@ -1915,6 +1921,12 @@ QueryServiceConfig2W(SC_HANDLE hService,
     TRACE("QueryServiceConfig2W(%p, %lu, %p, %lu, %p)\n",
            hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
 
+    if (lpBuffer == NULL && cbBufSize != 0)
+    {
+        SetLastError(ERROR_INVALID_ADDRESS);
+        return FALSE;
+    }
+
     HandleBind();
 
     _SEH_TRY