From: Sasha Levin Date: Tue, 22 Dec 2015 17:43:36 +0000 (-0500) Subject: power: test_power: correctly handle empty writes X-Git-Tag: v3.2.77~54 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=abaa03b0d6f1442c236ee0a667f7e14f129fd67c power: test_power: correctly handle empty writes commit 6b9140f39c2aaf76791197fbab0839c0e4af56e8 upstream. Writing 0 length data into test_power makes it access an invalid array location and kill the system. Fixes: f17ef9b2d ("power: Make test_power driver more dynamic.") Signed-off-by: Sasha Levin Signed-off-by: Sebastian Reichel Signed-off-by: Ben Hutchings --- diff --git a/drivers/power/test_power.c b/drivers/power/test_power.c index b527c93bf2f3..c4a0f5a37189 100644 --- a/drivers/power/test_power.c +++ b/drivers/power/test_power.c @@ -237,6 +237,8 @@ static int map_get_value(struct battery_property_map *map, const char *key, buf[MAX_KEYLENGTH-1] = '\0'; cr = strnlen(buf, MAX_KEYLENGTH) - 1; + if (cr < 0) + return def_val; if (buf[cr] == '\n') buf[cr] = '\0';