[PATCH] clk: versaclock7: Return directly after a failed kasprintf() call in vc7_probe()

From: Markus Elfring
Date: Wed Jan 17 2024 - 10:47:26 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 17 Jan 2024 14:06:13 +0100

The result from a call of the function “kasprintf” was passed to
a subsequent function call without checking for a null pointer before
(according to a memory allocation failure).
This issue was detected by using the Coccinelle software.

Thus return directly after a failed kasprintf() call.

Fixes: 48c5e98fedd9e ("clk: Renesas versaclock7 ccf device driver")
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/clk/clk-versaclock7.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/clk-versaclock7.c b/drivers/clk/clk-versaclock7.c
index f323263e32c3..96e6b05f2aac 100644
--- a/drivers/clk/clk-versaclock7.c
+++ b/drivers/clk/clk-versaclock7.c
@@ -1127,8 +1127,11 @@ static int vc7_probe(struct i2c_client *client)
node_name = client->dev.of_node->name;

/* Register APLL */
- apll_rate = vc7_get_apll_rate(vc7);
apll_name = kasprintf(GFP_KERNEL, "%s_apll", node_name);
+ if (!apll_name)
+ return -ENOMEM;
+
+ apll_rate = vc7_get_apll_rate(vc7);
vc7->clk_apll.clk = clk_register_fixed_rate(&client->dev, apll_name,
__clk_get_name(vc7->pin_xin),
0, apll_rate);
--
2.43.0