[ADVAPI32] Stop the service dispatcher thread only if a SERVICE_CONTROL_STOP command was sent

This commit is contained in:
Eric Kohl 2018-07-29 23:19:14 +02:00
parent 74adcadbd0
commit bf1e655172

View file

@ -602,9 +602,10 @@ ScServiceDispatcher(HANDLE hPipe,
lpServiceName = (LPWSTR)((PBYTE)ControlPacket + ControlPacket->dwServiceNameOffset);
TRACE("Service: %S\n", lpServiceName);
if (lpServiceName[0] == UNICODE_NULL)
if ((ControlPacket->dwControl == SERVICE_CONTROL_STOP) &&
(lpServiceName[0] == UNICODE_NULL))
{
ERR("Stop dispatcher thread\n");
TRACE("Stop dispatcher thread\n");
bRunning = FALSE;
dwError = ERROR_SUCCESS;
}