From 004a268e0436ad1d8f6344d13823ee1b016208aa Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Fri, 2 Aug 2013 20:51:39 +0900 Subject: [PATCH] Fix dereference of a null pointer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Duval --- src/add-ons/kernel/bus_managers/pci/arch/x86/pci_acpi.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_acpi.cpp b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_acpi.cpp index f1fb0fad65..0bc65a169c 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_acpi.cpp +++ b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_acpi.cpp @@ -117,8 +117,11 @@ acpi_check_rsdt(acpi_rsdp* rsdp) rsdtArea = map_physical_memory("rsdt acpi", rsdp->rsdt_address, sizeof(acpi_descriptor_header), B_ANY_KERNEL_ADDRESS, B_KERNEL_READ_AREA, (void **)&rsdt); - 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) { delete_area(rsdtArea); rsdt = NULL; TRACE(("acpi: invalid root system description table\n"));