Sfoglia il codice sorgente

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 <sudip@vectorindia.org>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Sudip Mukherjee 9 anni fa
parent
commit
c76eb11c8f
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3 1
      drivers/clk/clk-gpio.c

+ 3 - 1
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);