- In AccpOpenNamedObject, immediately save the last error in case of OpenService failure instead of calling another function in between.
CORE-9990 #resolve
svn path=/trunk/; revision=68636
(DWORD)DesiredAccess);
if (*Handle2 == NULL)
{
- goto FailOpenService;
+ Ret = GetLastError();
+ ASSERT(Ret != ERROR_SUCCESS);
+ goto Cleanup;
}
DesiredAccess &= ~SC_MANAGER_CONNECT;
(DWORD)DesiredAccess);
if (*Handle == NULL)
{
- if (*Handle2 != NULL)
- {
- CloseServiceHandle((SC_HANDLE)(*Handle2));
- }
-
-FailOpenService:
Ret = GetLastError();
+ ASSERT(Ret != ERROR_SUCCESS);
+ ASSERT(*Handle2 != NULL);
+ CloseServiceHandle((SC_HANDLE)(*Handle2));
+
goto Cleanup;
}
break;