[NTOS:CM]

* Plug some leaks. Inspired by CID 1206912 and fixed by Timo.
CORE-7975

svn path=/trunk/; revision=63647
This commit is contained in:
Amine Khaldi 2014-06-26 19:35:48 +00:00
parent 2925773710
commit 2c9a27ae40

View file

@ -1052,7 +1052,11 @@ CmpCreateRegistryRoot(VOID)
NULL,
0,
&KeyName);
if (!Kcb) return FALSE;
if (!Kcb)
{
ObDereferenceObject(RootKey);
return FALSE;
}
/* Initialize the object */
RootKey->KeyControlBlock = Kcb;
@ -1070,7 +1074,11 @@ CmpCreateRegistryRoot(VOID)
0,
NULL,
&CmpRegistryRootHandle);
if (!NT_SUCCESS(Status)) return FALSE;
if (!NT_SUCCESS(Status))
{
ObDereferenceObject(RootKey);
return FALSE;
}
/* Reference the key again so that we never lose it */
Status = ObReferenceObjectByHandle(CmpRegistryRootHandle,
@ -1079,7 +1087,11 @@ CmpCreateRegistryRoot(VOID)
KernelMode,
(PVOID*)&RootKey,
NULL);
if (!NT_SUCCESS(Status)) return FALSE;
if (!NT_SUCCESS(Status))
{
ObDereferenceObject(RootKey);
return FALSE;
}
/* Completely sucessful */
return TRUE;