diff options
-rw-r--r-- | acpi/acpi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/acpi/acpi.c b/acpi/acpi.c index a6ad1609..94b449a9 100644 --- a/acpi/acpi.c +++ b/acpi/acpi.c @@ -138,6 +138,11 @@ acpi_get_num_tables(size_t *num_tables) err = mmap_phys_acpi_header(acpi_ptr32, &next, &virt_addr2, fd_mem); } + if (err) { + munmap(virt_addr, ESCD_SIZE); + return err; + } + if (next->signature[0] == '\0' || next->length == 0) { munmap(virt_addr2, ESCD_SIZE); continue; |