2021-10-16 21:18:35

by Colin King

[permalink] [raw]
Subject: [PATCH][next] iio: Fix uninitialized variable ret

From: Colin Ian King <[email protected]>

When !iio_buffer_space_available(rb) is true and signal_pending(current)
is false the end of the do-while loop is reached and the uninitialized
variable ret is zero checked. Fix this by initializing variable ret to
zero.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: ffabbffd40f2 ("iio: Add output buffer support")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/iio/industrialio-buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index b884d78657cb..c97fb8462395 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -179,7 +179,7 @@ static ssize_t iio_buffer_write(struct file *filp, const char __user *buf,
struct iio_buffer *rb = ib->buffer;
struct iio_dev *indio_dev = ib->indio_dev;
DEFINE_WAIT_FUNC(wait, woken_wake_function);
- int ret;
+ int ret = 0;
size_t written;

if (!indio_dev->info)
--
2.32.0


2021-10-18 03:43:33

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH][next] iio: Fix uninitialized variable ret

On Fri, 15 Oct 2021 16:32:54 +0100
Colin King <[email protected]> wrote:

> From: Colin Ian King <[email protected]>
>
> When !iio_buffer_space_available(rb) is true and signal_pending(current)
> is false the end of the do-while loop is reached and the uninitialized
> variable ret is zero checked. Fix this by initializing variable ret to
> zero.
>
> Addresses-Coverity: ("Uninitialized scalar variable")
> Fixes: ffabbffd40f2 ("iio: Add output buffer support")
> Signed-off-by: Colin Ian King <[email protected]>

Looks like the correct fix to me. If anyone disagrees shout soon!

Applied to the iio-togreg branch of iio.git and pushed out as testing for 0-day
to poke at it.

Jonathan

> ---
> drivers/iio/industrialio-buffer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index b884d78657cb..c97fb8462395 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -179,7 +179,7 @@ static ssize_t iio_buffer_write(struct file *filp, const char __user *buf,
> struct iio_buffer *rb = ib->buffer;
> struct iio_dev *indio_dev = ib->indio_dev;
> DEFINE_WAIT_FUNC(wait, woken_wake_function);
> - int ret;
> + int ret = 0;
> size_t written;
>
> if (!indio_dev->info)