diff mbox

pinctrl: Fix potential memory leak in pinctrl_register_one_pin()

Message ID 1348557100-16972-1-git-send-email-sachin.kamat@linaro.org
State Accepted
Headers show

Commit Message

Sachin Kamat Sept. 25, 2012, 7:11 a.m. UTC
'pindesc' was not freed when returning from an error induced
exit path.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/pinctrl/core.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Linus Walleij Sept. 26, 2012, 11:15 a.m. UTC | #1
On Tue, Sep 25, 2012 at 9:11 AM, Sachin Kamat <sachin.kamat@linaro.org> wrote:

> 'pindesc' was not freed when returning from an error induced
> exit path.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>

Thanks, patch applied!
Linus Walleij
diff mbox

Patch

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index dc5c126..0f1ec9e 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -230,8 +230,10 @@  static int pinctrl_register_one_pin(struct pinctrl_dev *pctldev,
 		pindesc->name = name;
 	} else {
 		pindesc->name = kasprintf(GFP_KERNEL, "PIN%u", number);
-		if (pindesc->name == NULL)
+		if (pindesc->name == NULL) {
+			kfree(pindesc);
 			return -ENOMEM;
+		}
 		pindesc->dynamic_name = true;
 	}