[haiku-commits] haiku: hrev45899 - src/system/boot/platform/bios_ia32

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 25 Jul 2013 18:53:05 +0200 (CEST)

hrev45899 adds 1 changeset to branch 'master'
old head: 6972b91e17f19950fbf994033846a856bff4b796
new head: 0994532db4335fe9bdc09ca26823e3182e4bb6e3
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=0994532+%5E6972b91

----------------------------------------------------------------------------

0994532: boot_loader: checks whether mapping rsdt header succeeded.
  
  ... and exits in case of failure. Reported by mt in #9895.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45899
Commit:      0994532db4335fe9bdc09ca26823e3182e4bb6e3
URL:         http://cgit.haiku-os.org/haiku/commit/?id=0994532
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Thu Jul 25 16:49:38 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9895

----------------------------------------------------------------------------

1 file changed, 5 insertions(+), 2 deletions(-)
src/system/boot/platform/bios_ia32/acpi.cpp | 7 +++++--

----------------------------------------------------------------------------

diff --git a/src/system/boot/platform/bios_ia32/acpi.cpp 
b/src/system/boot/platform/bios_ia32/acpi.cpp
index d9207fd..3880962 100644
--- a/src/system/boot/platform/bios_ia32/acpi.cpp
+++ b/src/system/boot/platform/bios_ia32/acpi.cpp
@@ -114,8 +114,11 @@ acpi_check_rsdt(acpi_rsdp* rsdp)
                rsdt = (acpi_descriptor_header*)mmu_map_physical_memory(
                        rsdp->rsdt_address, sizeof(acpi_descriptor_header),
                        kDefaultPageFlags);
-               if (rsdt != NULL
-                       && strncmp(rsdt->signature, ACPI_RSDT_SIGNATURE, 4) != 
0) {
+               if (rsdt == NULL) {
+                       TRACE(("acpi: couldn't map rsdt header\n"));
+                       return B_ERROR;
+               }
+               if (strncmp(rsdt->signature, ACPI_RSDT_SIGNATURE, 4) != 0) {
                        mmu_free(rsdt, sizeof(acpi_descriptor_header));
                        rsdt = NULL;
                        TRACE(("acpi: invalid root system description 
table\n"));


Other related posts:

  • » [haiku-commits] haiku: hrev45899 - src/system/boot/platform/bios_ia32 - korli