[PATCH] iio: adc: ti-ads1298: Add NULL check in ads1298_init

Charles Han posted 1 patch 1 year, 2 months ago
drivers/iio/adc/ti-ads1298.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] iio: adc: ti-ads1298: Add NULL check in ads1298_init
Posted by Charles Han 1 year, 2 months ago
devm_kasprintf() can return a NULL pointer on failure,but this
returned value in ads1298_init() is not checked.
Add NULL check in ads1298_init(), to handle kernel NULL
pointer dereference error.

Fixes: 00ef7708fa60 ("iio: adc: ti-ads1298: Add driver")
Signed-off-by: Charles Han <hanchunchao@inspur.com>
---
 drivers/iio/adc/ti-ads1298.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c
index 36d43495f603..03f762415fa5 100644
--- a/drivers/iio/adc/ti-ads1298.c
+++ b/drivers/iio/adc/ti-ads1298.c
@@ -613,6 +613,8 @@ static int ads1298_init(struct iio_dev *indio_dev)
 	}
 	indio_dev->name = devm_kasprintf(dev, GFP_KERNEL, "ads129%u%s",
 					 indio_dev->num_channels, suffix);
+	if (!indio_dev->name)
+		return -ENOMEM;
 
 	/* Enable internal test signal, double amplitude, double frequency */
 	ret = regmap_write(priv->regmap, ADS1298_REG_CONFIG2,
-- 
2.31.1
Re: [PATCH] iio: adc: ti-ads1298: Add NULL check in ads1298_init()
Posted by Markus Elfring 1 year, 2 months ago
> devm_kasprintf() can return a NULL pointer on failure,but this
> returned value in ads1298_init() is not checked.
> Add NULL check in ads1298_init(), to handle kernel NULL
> pointer dereference error.

Another wording suggestion:
A devm_kasprintf() call can return a null pointer on failure.
But such a return value was not checked in this function implementation.
Thus add a corresponding check so that a null pointer dereference
will be avoided.


Regards,
Markus
Re: [PATCH] iio: adc: ti-ads1298: Add NULL check in ads1298_init()
Posted by Jonathan Cameron 1 year, 2 months ago
On Mon, 18 Nov 2024 11:08:47 +0100
Markus Elfring <Markus.Elfring@web.de> wrote:

> > devm_kasprintf() can return a NULL pointer on failure,but this
> > returned value in ads1298_init() is not checked.
> > Add NULL check in ads1298_init(), to handle kernel NULL
> > pointer dereference error.  
> 
> Another wording suggestion:
> A devm_kasprintf() call can return a null pointer on failure.
> But such a return value was not checked in this function implementation.
> Thus add a corresponding check so that a null pointer dereference
> will be avoided.
> 
> 
> Regards,
> Markus

I tweaked it to slightly shorter form.

Applied and marked for stable.

Thanks,

Jonathan