From 24e14f2ba8a1b7f1e8fd35704e5681a5264ad474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Thu, 4 Sep 2008 09:03:47 +0000 Subject: [PATCH] Don't free hive if HvInitialize failed, it should be done in the caller (if required) svn path=/trunk/; revision=35924 --- reactos/boot/freeldr/freeldr/reactos/binhive.c | 1 + reactos/lib/cmlib/hiveinit.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/reactos/boot/freeldr/freeldr/reactos/binhive.c b/reactos/boot/freeldr/freeldr/reactos/binhive.c index 1bffa8634da..457d40d16c5 100644 --- a/reactos/boot/freeldr/freeldr/reactos/binhive.c +++ b/reactos/boot/freeldr/freeldr/reactos/binhive.c @@ -285,6 +285,7 @@ RegImportBinaryHive(PCHAR ChunkBase, NULL); if (!NT_SUCCESS(Status)) { + CmpFree(CmHive, 0); DbgPrint((DPRINT_REGISTRY, "Invalid hive Signature!\n")); return FALSE; } diff --git a/reactos/lib/cmlib/hiveinit.c b/reactos/lib/cmlib/hiveinit.c index 48950bdf847..8dea06a6f46 100644 --- a/reactos/lib/cmlib/hiveinit.c +++ b/reactos/lib/cmlib/hiveinit.c @@ -498,10 +498,7 @@ HvInitialize( } if (!NT_SUCCESS(Status)) - { - Hive->Free(Hive, 0); return Status; - } if (Operation != HINIT_CREATE) CmPrepareHive(Hive);