From c76eb11c8f0bae27aa4db9a18031a497ba6e2636 Mon Sep 17 00:00:00 2001 From: Sudip Mukherjee Date: Wed, 23 Dec 2015 12:03:59 +0530 Subject: clk: gpio: fix memory leak If we fail to allocate parent_name then we are returning but we missed freeing data which has already been allocated. Signed-off-by: Sudip Mukherjee Signed-off-by: Michael Turquette --- drivers/clk/clk-gpio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c index 335322dc403f..c1baa89cbf91 100644 --- a/drivers/clk/clk-gpio.c +++ b/drivers/clk/clk-gpio.c @@ -294,8 +294,10 @@ static void __init of_gpio_clk_setup(struct device_node *node, num_parents = of_clk_get_parent_count(node); parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL); - if (!parent_names) + if (!parent_names) { + kfree(data); return; + } for (i = 0; i < num_parents; i++) parent_names[i] = of_clk_get_parent_name(node, i); -- cgit v1.2.3