iio/adjd_s311: Fix potential memory leak in adjd_s311_update_scan_mode()
Do not leak memory by updating pointer with potentially NULL realloc return value. There is no need to preserve data in the buffer, so replace krealloc() by kfree()-kmalloc() pair. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Acked-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
8857df3ace
commit
1c795ebd00
|
@ -271,9 +271,10 @@ static int adjd_s311_update_scan_mode(struct iio_dev *indio_dev,
|
|||
const unsigned long *scan_mask)
|
||||
{
|
||||
struct adjd_s311_data *data = iio_priv(indio_dev);
|
||||
data->buffer = krealloc(data->buffer, indio_dev->scan_bytes,
|
||||
GFP_KERNEL);
|
||||
if (!data->buffer)
|
||||
|
||||
kfree(data->buffer);
|
||||
data->buffer = kmalloc(indio_dev->scan_bytes, GFP_KERNEL);
|
||||
if (data->buffer == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue