3.19.8-ckt14 -stable review patch.  If anyone has any objections, please let me 
know.

---8<------------------------------------------------------------

From: Sasha Levin <sasha.le...@oracle.com>

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 <sasha.le...@oracle.com>
Signed-off-by: Sebastian Reichel <s...@kernel.org>
Signed-off-by: Kamal Mostafa <ka...@canonical.com>
---
 drivers/power/test_power.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/power/test_power.c b/drivers/power/test_power.c
index 0152f35..b47bd17 100644
--- a/drivers/power/test_power.c
+++ b/drivers/power/test_power.c
@@ -275,6 +275,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';
 
-- 
1.9.1

Reply via email to