summaryrefslogtreecommitdiff
path: root/drivers/gpio
diff options
context:
space:
mode:
authorAllen Yu <alleny@nvidia.com>2014-05-26 12:31:05 +0800
committerMandar Padmawar <mpadmawar@nvidia.com>2014-06-03 07:34:50 -0700
commit9363f0053f9075af70e4520ce78568dbd8e41d81 (patch)
tree1a9abd5ec8d9c6d2f3ac42f023295e71389b55ca /drivers/gpio
parentd555f5e425f717601e71e6ff4f205fee85d7c5e2 (diff)
gpio: of: fix memory leak in of_gpiochip_init
propname should be freed if fail to resolve the phandle property. bug 200007297 Change-Id: I26bf03daaca976bea1450d3d4c40b358037d4339 Signed-off-by: Allen Yu <alleny@nvidia.com> Reviewed-on: http://git-master/r/415084 (cherry picked from commit 3673891f9f6f3d372ba5b013b9a335146b14d97e) Reviewed-on: http://git-master/r/416828 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib-of.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 627b23cdabd8..fc4fa8ad2b62 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -239,8 +239,10 @@ void of_gpiochip_init(struct gpio_chip *chip)
/* Retrieve the gpio-init-* property */
propname = kasprintf(GFP_KERNEL, "gpio-init-%d", state);
np_config = of_parse_phandle(np, propname, 0);
- if (!np_config)
+ if (!np_config) {
+ kfree(propname);
break;
+ }
/* Determine whether gpio-init-names property names the state */
of_property_read_string_index(np, "gpio-init-names",