[PATCH] lib: fwts_acpi_tables: fix parsing of empty data (LP: #1281197)
Colin King
colin.king at canonical.com
Mon Feb 17 17:26:42 UTC 2014
From: Colin Ian King <colin.king at canonical.com>
Acpi data as generated by the acpidump tool or fwts --dump with zero
data on a line can cause the parser to segfault if the data offset
is legitimate and the data isn't and the data is the first entry in the
table. This occurred on some test tables that had got corrupted. The
fix is to break when we find no legitimate data.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/lib/src/fwts_acpi_tables.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
index ca3b34a..0a656cd 100644
--- a/src/lib/src/fwts_acpi_tables.c
+++ b/src/lib/src/fwts_acpi_tables.c
@@ -423,6 +423,8 @@ static uint8_t *fwts_acpi_load_table_from_acpidump(FILE *fp, char *name, uint64_
break;
len += (n - 1);
+ if (len == 0)
+ break; /* No data, must be corrupt input */
if ((new_tmp = realloc(tmp, len)) == NULL) {
free(tmp);
return NULL;
--
1.9.rc1
More information about the fwts-devel
mailing list