From 17027f7e5489d7e0de0c3adc0df3d53ef5a29cf5 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Thu, 3 Sep 2015 21:27:51 +0000 Subject: [PATCH] [ADVAPI32] Fix memory leaks in case of failure CID 1322129 CID 1322130 svn path=/trunk/; revision=68968 --- reactos/dll/win32/advapi32/service/sctrl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/dll/win32/advapi32/service/sctrl.c b/reactos/dll/win32/advapi32/service/sctrl.c index e73c8e62b65..b3af2ae6cb5 100644 --- a/reactos/dll/win32/advapi32/service/sctrl.c +++ b/reactos/dll/win32/advapi32/service/sctrl.c @@ -472,7 +472,10 @@ ScStartService(PACTIVE_SERVICE lpService, &ThreadParamsW->dwArgCount, &ThreadParamsW->lpArgVector); if (dwError != ERROR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, ThreadParamsW); return dwError; + } ThreadParamsW->lpServiceMain = lpService->ServiceMain.W; ThreadHandle = CreateThread(NULL, 0, @@ -500,7 +503,10 @@ ScStartService(PACTIVE_SERVICE lpService, &ThreadParamsA->dwArgCount, &ThreadParamsA->lpArgVector); if (dwError != ERROR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, ThreadParamsA); return dwError; + } ThreadParamsA->lpServiceMain = lpService->ServiceMain.A; ThreadHandle = CreateThread(NULL, 0, -- 2.17.1