[v6,05/13] iio: inkern: Remove the 'unused' variable usage in iio_channel_read_max()

Message ID 20230623085830.749991-6-herve.codina@bootlin.com
State New
Headers
Series Add support for IIO devices in ASoC |

Commit Message

Herve Codina June 23, 2023, 8:58 a.m. UTC
  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@bootlin.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
 drivers/iio/inkern.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
  

Comments

Christophe Leroy June 27, 2023, 9:56 a.m. UTC | #1
Le 23/06/2023 à 10:58, Herve Codina a écrit :
> 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@bootlin.com>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   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;
>
  

Patch

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;