Check if MmHeapAlloc() failed.
authorDmitry Gorbachev <gorbachev@reactos.org>
Wed, 6 Jan 2010 01:28:23 +0000 (01:28 +0000)
committerDmitry Gorbachev <gorbachev@reactos.org>
Wed, 6 Jan 2010 01:28:23 +0000 (01:28 +0000)
svn path=/trunk/; revision=44972

reactos/boot/freeldr/freeldr/arch/i386/hwacpi.c

index cd5e101..9ca9f12 100644 (file)
@@ -68,7 +68,7 @@ DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
         LoaderBlock.Flags |= MB_FLAGS_ACPI_TABLE;
 
         /* Get BIOS memory map */
-        RtlZeroMemory(BiosMemoryMap, sizeof(BIOS_MEMORY_MAP) * 32);
+        RtlZeroMemory(BiosMemoryMap, sizeof(BiosMemoryMap));
         BiosMemoryMapEntryCount = PcMemGetMemoryMap(BiosMemoryMap,
             sizeof(BiosMemoryMap) / sizeof(BIOS_MEMORY_MAP));
 
@@ -79,6 +79,14 @@ DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
         /* Set 'Configuration Data' value */
         PartialResourceList =
             MmHeapAlloc(sizeof(CM_PARTIAL_RESOURCE_LIST) + TableSize);
+
+        if (PartialResourceList == NULL)
+        {
+            DPRINTM(DPRINT_HWDETECT,
+                    "Failed to allocate resource descriptor\n");
+            return;
+        }
+
         memset(PartialResourceList, 0, sizeof(CM_PARTIAL_RESOURCE_LIST) + TableSize);
         PartialResourceList->Version = 0;
         PartialResourceList->Revision = 0;