Re: [PATCH v5 05/13] iio: inkern: Remove the 'unused' variable usage in iio_channel_read_max()

From: Jonathan Cameron
Date: Sat Jun 17 2023 - 13:42:36 EST


On Thu, 15 Jun 2023 17:26:23 +0200
Herve Codina <herve.codina@xxxxxxxxxxx> wrote:

> The code uses a local variable to initialize a null pointer in order to
> avoid accessing this null pointer later on.
>
> Simply removed the 'unused' variable and check for the null pointer just
> before accessing it.
>
> Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

A this series has grown more changes in IIO over time....
Hopefully who ever takes it can provide an immutable branch to make
it easy to avoid any dependency issues for other work in IIO.

Thanks,

Jonathan

> ---
> drivers/iio/inkern.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
> index f738db9a0c04..ce537b4ca6ca 100644
> --- a/drivers/iio/inkern.c
> +++ b/drivers/iio/inkern.c
> @@ -849,14 +849,10 @@ static int iio_channel_read_max(struct iio_channel *chan,
> int *val, int *val2, int *type,
> enum iio_chan_info_enum info)
> {
> - int unused;
> const int *vals;
> int length;
> int ret;
>
> - if (!val2)
> - val2 = &unused;
> -
> ret = iio_channel_read_avail(chan, &vals, type, &length, info);
> if (ret < 0)
> return ret;
> @@ -869,7 +865,8 @@ static int iio_channel_read_max(struct iio_channel *chan,
> break;
> default:
> *val = vals[4];
> - *val2 = vals[5];
> + if (val2)
> + *val2 = vals[5];
> }
> return 0;
>