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"));