From: Henrique de Moraes Holschuh Date: Tue, 24 Feb 2009 14:48:17 +0000 (-0300) Subject: ACPI: fix broken usage of name.ascii X-Git-Tag: v2.6.28.8~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f1c57aed4c5c3f3f61c82b4d7dc8bf8705df6f0;p=thirdparty%2Fkernel%2Fstable.git ACPI: fix broken usage of name.ascii This issue was fixed indirectly in mainline by commit 0175d562a29ad052c510782c7e76bc63d5155b9b. acpi_namespace_node's name.ascii field is four chars, and not NULL- terminated except by pure luck. So, it cannot be used by sscanf() without a length restriction. This is the minimal fix for both stable 2.6.27 and 2.6.28. Signed-off-by: Henrique de Moraes Holschuh Cc: Lin Ming Cc: Len Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 30f3ef236ecb1..4aa9477d98229 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -759,9 +759,10 @@ acpi_ec_register_query_methods(acpi_handle handle, u32 level, struct acpi_namespace_node *node = handle; struct acpi_ec *ec = context; int value = 0; - if (sscanf(node->name.ascii, "_Q%x", &value) == 1) { + + if (sscanf(node->name.ascii, "_Q%2x", &value) == 1) acpi_ec_add_query_handler(ec, value, handle, NULL, NULL); - } + return AE_OK; }