diff --git a/reactos/dll/win32/advapi32/service/scm.c b/reactos/dll/win32/advapi32/service/scm.c index d3117e13b9e..2f1b8455de3 100644 --- a/reactos/dll/win32/advapi32/service/scm.c +++ b/reactos/dll/win32/advapi32/service/scm.c @@ -2526,6 +2526,13 @@ QueryServiceStatusEx(SC_HANDLE hService, return FALSE; } + if (cbBufSize < sizeof(SERVICE_STATUS_PROCESS)) + { + *pcbBytesNeeded = sizeof(SERVICE_STATUS_PROCESS); + SetLastError(ERROR_INSUFFICIENT_BUFFER); + return FALSE; + } + RpcTryExcept { /* Call to services.exe using RPC */