diff mbox series

hwmon: (dme1737): Add missing null check on return from platform_get_resource

Message ID 20210406185458.433826-1-colin.king@canonical.com (mailing list archive)
State Rejected
Headers show
Series hwmon: (dme1737): Add missing null check on return from platform_get_resource | expand

Commit Message

Colin King April 6, 2021, 6:54 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

The call to platform_get_resource can potentially return a NULL pointer
on failure, so add this check and return -EINVAL if it fails.

Addresses-Coverity: ("Dereference null return")
Fixes: e95c237d78c0 ("hwmon: (dme1737) Add sch311x support")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/hwmon/dme1737.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Guenter Roeck April 9, 2021, 11:08 p.m. UTC | #1
On Tue, Apr 06, 2021 at 07:54:58PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> The call to platform_get_resource can potentially return a NULL pointer
> on failure, so add this check and return -EINVAL if it fails.
> 
> Addresses-Coverity: ("Dereference null return")
> Fixes: e95c237d78c0 ("hwmon: (dme1737) Add sch311x support")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Not really sure what to do with this; it is a false positive.
The resource is always set by the instantiating code (in the same
driver). Adding an error check just to make coverity happy seems
like a waste. Maybe we should introduce the equivalent of
devm_ioremap_resource() for IORESOURCE_IO.

Guenter

> ---
>  drivers/hwmon/dme1737.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/hwmon/dme1737.c b/drivers/hwmon/dme1737.c
> index c1e4cfb40c3d..a2157872e126 100644
> --- a/drivers/hwmon/dme1737.c
> +++ b/drivers/hwmon/dme1737.c
> @@ -2633,6 +2633,8 @@ static int dme1737_isa_probe(struct platform_device *pdev)
>  	int err;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_IO, 0);
> +	if (!res)
> +		return -EINVAL;
>  	if (!devm_request_region(dev, res->start, DME1737_EXTENT, "dme1737")) {
>  		dev_err(dev, "Failed to request region 0x%04x-0x%04x.\n",
>  			(unsigned short)res->start,
diff mbox series

Patch

diff --git a/drivers/hwmon/dme1737.c b/drivers/hwmon/dme1737.c
index c1e4cfb40c3d..a2157872e126 100644
--- a/drivers/hwmon/dme1737.c
+++ b/drivers/hwmon/dme1737.c
@@ -2633,6 +2633,8 @@  static int dme1737_isa_probe(struct platform_device *pdev)
 	int err;
 
 	res = platform_get_resource(pdev, IORESOURCE_IO, 0);
+	if (!res)
+		return -EINVAL;
 	if (!devm_request_region(dev, res->start, DME1737_EXTENT, "dme1737")) {
 		dev_err(dev, "Failed to request region 0x%04x-0x%04x.\n",
 			(unsigned short)res->start,