2017-07-26 23:56:32

by Colin King

[permalink] [raw]
Subject: [PATCH][next] clk: ti: check for null return in strrchr to avoid null dereferencing

From: Colin Ian King <[email protected]>

strrchr can potentially return a null so the following strlen on the
null pointer can cause a null dereference. Add a check to see if
the string postfix is not null before calling strlen.

Detected by CoverityScan, CID#1452039 ("Dereference null return")

Signed-off-by: Colin Ian King <[email protected]>
---
drivers/clk/ti/adpll.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/ti/adpll.c b/drivers/clk/ti/adpll.c
index 255cafb18336..bd7cb9a413c9 100644
--- a/drivers/clk/ti/adpll.c
+++ b/drivers/clk/ti/adpll.c
@@ -222,7 +222,7 @@ static int ti_adpll_setup_clock(struct ti_adpll_data *d, struct clk *clock,

/* Separate con_id in format "pll040dcoclkldo" to fit MAX_CON_ID */
postfix = strrchr(name, '.');
- if (strlen(postfix) > 1) {
+ if (postfix && strlen(postfix) > 1) {
if (strlen(postfix) > ADPLL_MAX_CON_ID)
dev_warn(d->dev, "clock %s con_id lookup may fail\n",
name);
--
2.11.0


2017-07-27 06:05:25

by Tero Kristo

[permalink] [raw]
Subject: Re: [PATCH][next] clk: ti: check for null return in strrchr to avoid null dereferencing

On 27/07/17 02:56, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> strrchr can potentially return a null so the following strlen on the
> null pointer can cause a null dereference. Add a check to see if
> the string postfix is not null before calling strlen.
>
> Detected by CoverityScan, CID#1452039 ("Dereference null return")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/clk/ti/adpll.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/ti/adpll.c b/drivers/clk/ti/adpll.c
> index 255cafb18336..bd7cb9a413c9 100644
> --- a/drivers/clk/ti/adpll.c
> +++ b/drivers/clk/ti/adpll.c
> @@ -222,7 +222,7 @@ static int ti_adpll_setup_clock(struct ti_adpll_data *d, struct clk *clock,
>
> /* Separate con_id in format "pll040dcoclkldo" to fit MAX_CON_ID */
> postfix = strrchr(name, '.');
> - if (strlen(postfix) > 1) {
> + if (postfix && strlen(postfix) > 1) {
> if (strlen(postfix) > ADPLL_MAX_CON_ID)
> dev_warn(d->dev, "clock %s con_id lookup may fail\n",
> name);
>

Looks fine to me.

Acked-by: Tero Kristo <[email protected]>

2017-09-01 01:45:19

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH][next] clk: ti: check for null return in strrchr to avoid null dereferencing

On 07/27, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> strrchr can potentially return a null so the following strlen on the
> null pointer can cause a null dereference. Add a check to see if
> the string postfix is not null before calling strlen.
>
> Detected by CoverityScan, CID#1452039 ("Dereference null return")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---

Applied to clk-next

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project