浏览代码

power: test_power: correctly handle empty writes

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.levin@oracle.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Sasha Levin 9 年之前
父节点
当前提交
6b9140f39c
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/power/test_power.c

+ 2 - 0
drivers/power/test_power.c

@@ -301,6 +301,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';