From 3d35dfcf5bad1b0a028fbecd65cb6cf6ebf12503 Mon Sep 17 00:00:00 2001 From: Ted Felix Date: Tue, 29 Jan 2013 16:36:48 +1000 Subject: [PATCH] xfree86: bail on misformed acpi strings (#73227) If acpid sends a string in a format that we can't parse, bail out instead of potentially dereferencing a NULL-pointer. X.Org Bug 73227 Signed-off-by: Ted Felix Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- hw/xfree86/os-support/linux/lnx_acpi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c index d98efa247..dcaa19ee1 100644 --- a/hw/xfree86/os-support/linux/lnx_acpi.c +++ b/hw/xfree86/os-support/linux/lnx_acpi.c @@ -82,18 +82,21 @@ lnxACPIGetEventFromOs(int fd, pmEvent * events, int num) video = strtok(ev, " "); - GFX = strtok(NULL, " "); + if (!(GFX = strtok(NULL, " "))) + return 0; #if 0 ErrorF("GFX: %s\n", GFX); #endif - notify = strtok(NULL, " "); + if (!(notify = strtok(NULL, " "))) + return 0; notify_l = strtoul(notify, NULL, 16); #if 0 ErrorF("notify: 0x%lx\n", notify_l); #endif - data = strtok(NULL, " "); + if (!(data = strtok(NULL, " "))) + return 0; data_l = strtoul(data, NULL, 16); #if 0 ErrorF("data: 0x%lx\n", data_l);