From fffdfdf51e30e16c243dfd0dbe8254a229b695e5 Mon Sep 17 00:00:00 2001 From: Gen Zhang Date: Tue, 28 May 2019 10:18:51 +0800 Subject: [PATCH] clk-sunxi: fix a missing-check bug in sunxi_divs_clk_setup() commit fcdf445ff42f036d22178b49cf64e92d527c1330 upstream. In sunxi_divs_clk_setup(), 'derived_name' is allocated by kstrndup(). It returns NULL when fails. 'derived_name' should be checked. Signed-off-by: Gen Zhang Signed-off-by: Maxime Ripard Signed-off-by: Jeffle Xu Acked-by: Joseph Qi --- drivers/clk/sunxi/clk-sunxi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index 012714d94b42..c76ce5524f1d 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -988,6 +988,8 @@ static struct clk ** __init sunxi_divs_clk_setup(struct device_node *node, if (endp) { derived_name = kstrndup(clk_name, endp - clk_name, GFP_KERNEL); + if (!derived_name) + return NULL; factors.name = derived_name; } else { factors.name = clk_name; -- GitLab