Author: akhaldi
Date: Thu Jun 26 19:35:48 2014
New Revision: 63647

URL: http://svn.reactos.org/svn/reactos?rev=63647&view=rev
Log:
[NTOS:CM]
* Plug some leaks. Inspired by CID 1206912 and fixed by Timo.
CORE-7975

Modified:
    trunk/reactos/ntoskrnl/config/cmsysini.c

Modified: trunk/reactos/ntoskrnl/config/cmsysini.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/cmsysini.c?rev=63647&r1=63646&r2=63647&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/config/cmsysini.c    [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/config/cmsysini.c    [iso-8859-1] Thu Jun 26 
19:35:48 2014
@@ -1052,7 +1052,11 @@
                                    NULL,
                                    0,
                                    &KeyName);
-    if (!Kcb) return FALSE;
+    if (!Kcb)
+    {
+        ObDereferenceObject(RootKey);
+        return FALSE;
+    }
 
     /* Initialize the object */
     RootKey->KeyControlBlock = Kcb;
@@ -1070,7 +1074,11 @@
                             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 @@
                                        KernelMode,
                                        (PVOID*)&RootKey,
                                        NULL);
-    if (!NT_SUCCESS(Status)) return FALSE;
+    if (!NT_SUCCESS(Status))
+    {
+        ObDereferenceObject(RootKey);
+        return FALSE;
+    }
 
     /* Completely sucessful */
     return TRUE;


Reply via email to