You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
From b3cde198b17f504643cc1eeffc4623f03326f436 Mon Sep 17 00:00:00 2001
|
|
From: Dan Carpenter <dan.carpenter@oracle.com>
|
|
Date: Fri, 18 Nov 2016 14:35:57 +0300
|
|
Subject: pinctrl: sunxi: Testing the wrong variable
|
|
|
|
Smatch complains that we dereference "map" before testing it for NULL
|
|
which is true. We should be testing "*map" instead. Also on the error
|
|
path, we should free *map and set it to NULL.
|
|
|
|
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
|
|
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
|
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
---
|
|
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
|
|
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
|
|
@@ -398,13 +398,14 @@ static int sunxi_pctrl_dt_node_to_map(st
|
|
* map array
|
|
*/
|
|
*map = krealloc(*map, i * sizeof(struct pinctrl_map), GFP_KERNEL);
|
|
- if (!map)
|
|
+ if (!*map)
|
|
return -ENOMEM;
|
|
|
|
return 0;
|
|
|
|
err_free_map:
|
|
- kfree(map);
|
|
+ kfree(*map);
|
|
+ *map = NULL;
|
|
return ret;
|
|
}
|
|
|
|
|