- Close the registry hive file object in CmiInitNonVolatileRegistryHive.

svn path=/trunk/; revision=10744
This commit is contained in:
Filip Navara
2004-08-30 19:28:59 +00:00
parent 9980d7cf9c
commit e78e4ea757
+6
View File
@@ -972,6 +972,7 @@ CmiInitNonVolatileRegistryHive (PREGISTRY_HIVE RegistryHive,
ObDereferenceObject(SectionObject);
RtlFreeUnicodeString(&RegistryHive->HiveFileName);
RtlFreeUnicodeString(&RegistryHive->LogFileName);
NtClose(FileHandle);
return(Status);
}
DPRINT("ViewBase %p ViewSize %lx\n", ViewBase, ViewSize);
@@ -995,6 +996,7 @@ CmiInitNonVolatileRegistryHive (PREGISTRY_HIVE RegistryHive,
ObDereferenceObject(SectionObject);
RtlFreeUnicodeString(&RegistryHive->HiveFileName);
RtlFreeUnicodeString(&RegistryHive->LogFileName);
NtClose(FileHandle);
return STATUS_INSUFFICIENT_RESOURCES;
}
RtlZeroMemory (RegistryHive->BlockList,
@@ -1011,6 +1013,7 @@ CmiInitNonVolatileRegistryHive (PREGISTRY_HIVE RegistryHive,
ObDereferenceObject(SectionObject);
RtlFreeUnicodeString(&RegistryHive->HiveFileName);
RtlFreeUnicodeString(&RegistryHive->LogFileName);
NtClose(FileHandle);
return Status;
}
@@ -1019,6 +1022,9 @@ CmiInitNonVolatileRegistryHive (PREGISTRY_HIVE RegistryHive,
ViewBase);
ObDereferenceObject(SectionObject);
/* Close the hive file */
NtClose(FileHandle);
/* Initialize the free cell list */
Status = CmiCreateHiveFreeCellList (RegistryHive);
if (!NT_SUCCESS(Status))