If omap4_keypad_parse_dt() does not return 0 (zero) in omap4_keypad_probe() we will leak the memory we allocated for 'keypad_data' with kzalloc() when we return and the variable goes out of scope. Fix the leak by jumping to the 'err_free_keypad' label where we properly free the allocated memory, instead of returning directly. Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx> --- drivers/input/keyboard/omap4-keypad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Compile tested only. diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c index c05f98c..9c2ac87 100644 --- a/drivers/input/keyboard/omap4-keypad.c +++ b/drivers/input/keyboard/omap4-keypad.c @@ -281,7 +281,7 @@ static int __devinit omap4_keypad_probe(struct platform_device *pdev) } else { error = omap4_keypad_parse_dt(&pdev->dev, keypad_data); if (error) - return error; + goto err_free_keypad; } res = request_mem_region(res->start, resource_size(res), pdev->name); -- 1.7.11.4 -- Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/ Don't top-post http://www.catb.org/jargon/html/T/top-post.html Plain text mails only, please. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html