Check rsp for NULL-pointer before dereferencing.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: e510190e0139 ("iio: chemical: scd30: add I2C interface driver")
Signed-off-by: Anastasia Belova <[email protected]>
---
drivers/iio/chemical/scd30_i2c.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/chemical/scd30_i2c.c b/drivers/iio/chemical/scd30_i2c.c
index bae479a4721f..84baf67fc0ce 100644
--- a/drivers/iio/chemical/scd30_i2c.c
+++ b/drivers/iio/chemical/scd30_i2c.c
@@ -101,8 +101,10 @@ static int scd30_i2c_command(struct scd30_state *state, enum scd30_cmd cmd, u16
return -EIO;
}
- *rsp++ = buf[i];
- *rsp++ = buf[i + 1];
+ if (rsp) {
+ *rsp++ = buf[i];
+ *rsp++ = buf[i + 1];
+ }
}
return 0;
--
2.30.2
On Fri, Jan 13, 2023 at 3:33 PM Anastasia Belova <[email protected]> wrote:
>
> Check rsp for NULL-pointer before dereferencing.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
NAK.
--
With Best Regards,
Andy Shevchenko
On 13.01.2023 16:33, Anastasia Belova wrote:
> Check rsp for NULL-pointer before dereferencing.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: e510190e0139 ("iio: chemical: scd30: add I2C interface driver")
> Signed-off-by: Anastasia Belova <[email protected]>
> ---
> drivers/iio/chemical/scd30_i2c.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/chemical/scd30_i2c.c b/drivers/iio/chemical/scd30_i2c.c
> index bae479a4721f..84baf67fc0ce 100644
> --- a/drivers/iio/chemical/scd30_i2c.c
> +++ b/drivers/iio/chemical/scd30_i2c.c
> @@ -101,8 +101,10 @@ static int scd30_i2c_command(struct scd30_state *state, enum scd30_cmd cmd, u16
> return -EIO;
> }
>
> - *rsp++ = buf[i];
> - *rsp++ = buf[i + 1];
> + if (rsp) {
> + *rsp++ = buf[i];
> + *rsp++ = buf[i + 1];
> + }
> }
>
> return 0;
>
It seems it is better to put the whole validation loop under if (rsp)
check.
--
Alexey