瀏覽代碼

gpio: fix memory leak in error path

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Michal Nazarewicz 11 年之前
父節點
當前提交
61c6375d55
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/gpio/gpiolib.c

+ 3 - 1
drivers/gpio/gpiolib.c

@@ -1354,8 +1354,10 @@ int gpiochip_add_pingroup_range(struct gpio_chip *chip,
 	ret = pinctrl_get_group_pins(pctldev, pin_group,
 	ret = pinctrl_get_group_pins(pctldev, pin_group,
 					&pin_range->range.pins,
 					&pin_range->range.pins,
 					&pin_range->range.npins);
 					&pin_range->range.npins);
-	if (ret < 0)
+	if (ret < 0) {
+		kfree(pin_range);
 		return ret;
 		return ret;
+	}
 
 
 	pinctrl_add_gpio_range(pctldev, &pin_range->range);
 	pinctrl_add_gpio_range(pctldev, &pin_range->range);