diff mbox series

iio: dac: ad5593r: prevent use of uninitialized variable

Message ID 20220916093307.612830-1-nuno.sa@analog.com (mailing list archive)
State Accepted
Headers show
Series iio: dac: ad5593r: prevent use of uninitialized variable | expand

Commit Message

Nuno Sa Sept. 16, 2022, 9:33 a.m. UTC
Properly error check the call to ad5593r_read_word() so that we do not
end up (would be unlikely but possible) touching uninitialized data.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 53b6e3b2164c ("iio: dac: ad5593r: Fix i2c read protocol requirements")
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
---
 drivers/iio/dac/ad5593r.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Jonathan Cameron Sept. 17, 2022, 1:38 p.m. UTC | #1
On Fri, 16 Sep 2022 11:33:07 +0200
Nuno Sá <nuno.sa@analog.com> wrote:

> Properly error check the call to ad5593r_read_word() so that we do not
> end up (would be unlikely but possible) touching uninitialized data.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Fixes: 53b6e3b2164c ("iio: dac: ad5593r: Fix i2c read protocol requirements")
That's not a stable commit ID.

Normally I mostly try and keep these stable even before pushing out as non
rebasing / togreg.  This time around I want to fast forward the tree
after the current pull request merges because I need some dependencies that
are in char-misc-next for other patches.

I didn't think this through when I said I preferred a separate patch.
Anyhow, I've squashed this with the original patch.

Thanks,

Jonathan


> Signed-off-by: Nuno Sá <nuno.sa@analog.com>
> ---
>  drivers/iio/dac/ad5593r.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/dac/ad5593r.c b/drivers/iio/dac/ad5593r.c
> index bb5e3fe90e89..420981e7c5c3 100644
> --- a/drivers/iio/dac/ad5593r.c
> +++ b/drivers/iio/dac/ad5593r.c
> @@ -83,10 +83,12 @@ static int ad5593r_gpio_read(struct ad5592r_state *st, u8 *value)
>  	int ret;
>  
>  	ret = ad5593r_read_word(i2c, AD5593R_MODE_GPIO_READBACK, &val);
> +	if (ret)
> +		return ret;
>  
>  	*value = (u8) val;
>  
> -	return ret;
> +	return 0;
>  }
>  
>  static const struct ad5592r_rw_ops ad5593r_rw_ops = {
diff mbox series

Patch

diff --git a/drivers/iio/dac/ad5593r.c b/drivers/iio/dac/ad5593r.c
index bb5e3fe90e89..420981e7c5c3 100644
--- a/drivers/iio/dac/ad5593r.c
+++ b/drivers/iio/dac/ad5593r.c
@@ -83,10 +83,12 @@  static int ad5593r_gpio_read(struct ad5592r_state *st, u8 *value)
 	int ret;
 
 	ret = ad5593r_read_word(i2c, AD5593R_MODE_GPIO_READBACK, &val);
+	if (ret)
+		return ret;
 
 	*value = (u8) val;
 
-	return ret;
+	return 0;
 }
 
 static const struct ad5592r_rw_ops ad5593r_rw_ops = {