From 6b27b08a69ec6a22ee8894012779bb5cecac032e Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Thu, 19 May 2016 13:01:04 +0000 Subject: [PATCH] [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 --- reactos/base/system/services/database.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/base/system/services/database.c b/reactos/base/system/services/database.c index 98917d5e560..6af37cb5ffb 100644 --- a/reactos/base/system/services/database.c +++ b/reactos/base/system/services/database.c @@ -566,8 +566,7 @@ done:; if (lpService != NULL) { - if (lpService->lpImage != NULL) - ScmDereferenceServiceImage(lpService->lpImage); + ASSERT(lpService->lpImage == NULL); } return dwError; @@ -1085,6 +1084,7 @@ Done: dwControl == SERVICE_CONTROL_STOP) { ScmDereferenceServiceImage(Service->lpImage); + Service->lpImage = NULL; } LeaveCriticalSection(&ControlServiceCriticalSection);