diff mbox series

[next] rtc: rzn1: Fix uninitialized variable val

Message ID 20220519100641.595608-1-colin.i.king@gmail.com
State Superseded
Headers show
Series [next] rtc: rzn1: Fix uninitialized variable val | expand

Commit Message

Colin Ian King May 19, 2022, 10:06 a.m. UTC
Variable val is not being initialized and is later being read with
a potentially garbage value. Fix this by initializing val to zero.

Detected by clang scan build:
warning: variable 'val' is uninitialized when used here [-Wuninitialized]

Fixes: deeb4b5393e1 ("rtc: rzn1: Add new RTC driver")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 drivers/rtc/rtc-rzn1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Miquel Raynal May 19, 2022, 12:12 p.m. UTC | #1
Hi Colin,

colin.i.king@gmail.com wrote on Thu, 19 May 2022 11:06:41 +0100:

> Variable val is not being initialized and is later being read with
> a potentially garbage value. Fix this by initializing val to zero.
> 
> Detected by clang scan build:
> warning: variable 'val' is uninitialized when used here [-Wuninitialized]
> 
> Fixes: deeb4b5393e1 ("rtc: rzn1: Add new RTC driver")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>


> ---
>  drivers/rtc/rtc-rzn1.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
> index 980ade8c9601..0b4bf6e43464 100644
> --- a/drivers/rtc/rtc-rzn1.c
> +++ b/drivers/rtc/rtc-rzn1.c
> @@ -272,7 +272,7 @@ static int rzn1_rtc_set_offset(struct device *dev, long offset)
>  	struct rzn1_rtc *rtc = dev_get_drvdata(dev);
>  	unsigned int steps;
>  	int stepsh, stepsl;
> -	u32 val;
> +	u32 val = 0;

There are actually two variables mixed together. "val" is used both for
the readl_poll_timeout() call (where it should be a dedicated 'ctl2'
variable) and for the subu register which is written at the end. This
variable could be renamed 'subu' and initialized to 0 as you did.

Thanks,
Miquèl
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
index 980ade8c9601..0b4bf6e43464 100644
--- a/drivers/rtc/rtc-rzn1.c
+++ b/drivers/rtc/rtc-rzn1.c
@@ -272,7 +272,7 @@  static int rzn1_rtc_set_offset(struct device *dev, long offset)
 	struct rzn1_rtc *rtc = dev_get_drvdata(dev);
 	unsigned int steps;
 	int stepsh, stepsl;
-	u32 val;
+	u32 val = 0;
 	int ret;
 
 	/*