[haiku-commits] r39958 - haiku/trunk/src/system/boot/platform/bios_ia32

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 27 Dec 2010 01:51:05 +0100 (CET)

Author: mmlr
Date: 2010-12-27 01:51:05 +0100 (Mon, 27 Dec 2010)
New Revision: 39958
Changeset: http://dev.haiku-os.org/changeset/39958

Modified:
   haiku/trunk/src/system/boot/platform/bios_ia32/acpi.cpp
Log:
Free the header after possibly accessing it when tracing is enabled. Also guard
the trace output against header being NULL (i.e. failed to map).


Modified: haiku/trunk/src/system/boot/platform/bios_ia32/acpi.cpp
===================================================================
--- haiku/trunk/src/system/boot/platform/bios_ia32/acpi.cpp     2010-12-26 
23:49:15 UTC (rev 39957)
+++ haiku/trunk/src/system/boot/platform/bios_ia32/acpi.cpp     2010-12-27 
00:51:05 UTC (rev 39958)
@@ -70,7 +70,7 @@
                sNumEntries = (sAcpiRsdt->length
                        - sizeof(acpi_descriptor_header)) / 4;
        }
-       
+
        if (sNumEntries <= 0) {
                TRACE(("acpi: root system description table is empty\n"));
                return NULL;
@@ -89,12 +89,15 @@
                if (header == NULL
                        || strncmp(header->signature, signature, 4) != 0) {
                        // not interesting for us
+                       TRACE(("acpi: Looking for '%.4s'. Skipping '%.4s'\n",
+                               signature, header != NULL ? header->signature : 
"null"));
+
                        if (header != NULL)
                                mmu_free(header, 
sizeof(acpi_descriptor_header));
-                       TRACE(("acpi: Looking for '%.4s'. Skipping '%.4s'\n",
-                               signature, header->signature));
+
                        continue;
                }
+
                TRACE(("acpi: Found '%.4s' @ %p\n", signature, pointer));
                return header;
        }


Other related posts:

  • » [haiku-commits] r39958 - haiku/trunk/src/system/boot/platform/bios_ia32 - mmlr