[SERVICES]

- On service stop, set Service->lpImage to NULL after calling ScmDereferenceServiceImage, so the same image is not dereferenced again on service deletion
- Do not call ScmDereferenceServiceImage in CreateServiceListEntry, as the service should never have an image there
CORE-11273 #resolve

svn path=/trunk/; revision=71355
This commit is contained in:
Thomas Faber 2016-05-19 13:01:04 +00:00
parent 407f2e8218
commit 6b27b08a69

View file

@ -566,8 +566,7 @@ done:;
if (lpService != NULL) if (lpService != NULL)
{ {
if (lpService->lpImage != NULL) ASSERT(lpService->lpImage == NULL);
ScmDereferenceServiceImage(lpService->lpImage);
} }
return dwError; return dwError;
@ -1085,6 +1084,7 @@ Done:
dwControl == SERVICE_CONTROL_STOP) dwControl == SERVICE_CONTROL_STOP)
{ {
ScmDereferenceServiceImage(Service->lpImage); ScmDereferenceServiceImage(Service->lpImage);
Service->lpImage = NULL;
} }
LeaveCriticalSection(&ControlServiceCriticalSection); LeaveCriticalSection(&ControlServiceCriticalSection);