diff --git a/reactos/base/system/services/rpcserver.c b/reactos/base/system/services/rpcserver.c index 948e6817fb6..f42a7b9b98b 100644 --- a/reactos/base/system/services/rpcserver.c +++ b/reactos/base/system/services/rpcserver.c @@ -5304,13 +5304,16 @@ DWORD REnumServicesStatusExW( *pcbBytesNeeded = 0; *lpServicesReturned = 0; - if ((dwServiceType!=SERVICE_DRIVER) && (dwServiceType!=SERVICE_WIN32)) + if ((dwServiceType == 0) || + ((dwServiceType & ~(SERVICE_DRIVER | SERVICE_WIN32)) != 0)) { DPRINT("Not a valid Service Type!\n"); return ERROR_INVALID_PARAMETER; } - if ((dwServiceStateSERVICE_STATE_ALL)) + if ((dwServiceState != SERVICE_ACTIVE) && + (dwServiceState != SERVICE_INACTIVE) && + (dwServiceState != SERVICE_STATE_ALL)) { DPRINT("Not a valid Service State!\n"); return ERROR_INVALID_PARAMETER;