Jeremy Cline f173b49
From fcdf445ff42f036d22178b49cf64e92d527c1330 Mon Sep 17 00:00:00 2001
Jeremy Cline f173b49
From: Gen Zhang <blackgod016574@gmail.com>
Jeremy Cline f173b49
Date: Tue, 28 May 2019 10:18:51 +0800
Jeremy Cline f173b49
Subject: clk-sunxi: fix a missing-check bug in sunxi_divs_clk_setup()
Jeremy Cline f173b49
Jeremy Cline f173b49
In sunxi_divs_clk_setup(), 'derived_name' is allocated by kstrndup().
Jeremy Cline f173b49
It returns NULL when fails. 'derived_name' should be checked.
Jeremy Cline f173b49
Jeremy Cline f173b49
Signed-off-by: Gen Zhang <blackgod016574@gmail.com>
Jeremy Cline f173b49
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Jeremy Cline f173b49
---
Jeremy Cline f173b49
 drivers/clk/sunxi/clk-sunxi.c | 2 ++
Jeremy Cline f173b49
 1 file changed, 2 insertions(+)
Jeremy Cline f173b49
Jeremy Cline f173b49
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
Jeremy Cline f173b49
index f5b1c0067365..830bfb7f5e6b 100644
Jeremy Cline f173b49
--- a/drivers/clk/sunxi/clk-sunxi.c
Jeremy Cline f173b49
+++ b/drivers/clk/sunxi/clk-sunxi.c
Jeremy Cline f173b49
@@ -989,6 +989,8 @@ static struct clk ** __init sunxi_divs_clk_setup(struct device_node *node,
Jeremy Cline f173b49
 		if (endp) {
Jeremy Cline f173b49
 			derived_name = kstrndup(clk_name, endp - clk_name,
Jeremy Cline f173b49
 						GFP_KERNEL);
Jeremy Cline f173b49
+			if (!derived_name)
Jeremy Cline f173b49
+				return NULL;
Jeremy Cline f173b49
 			factors.name = derived_name;
Jeremy Cline f173b49
 		} else {
Jeremy Cline f173b49
 			factors.name = clk_name;
Jeremy Cline f173b49
-- 
Jeremy Cline f173b49
cgit 1.2-0.3.lf.el7
Jeremy Cline f173b49