[PATCH 02/20] hwmon: (abituguru3) check return value after calling platform_get_resource()

From: Yang Yingliang
Date: Fri Apr 22 2022 - 05:00:35 EST


It will cause null-ptr-deref if platform_get_resource() returns NULL,
we need check the return value.

Fixes: 3faa1ffb4f4b ("hwmon: Add support for newer uGuru's")
Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
---
drivers/hwmon/abituguru3.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c
index 8229ad30c909..7abce72f3b48 100644
--- a/drivers/hwmon/abituguru3.c
+++ b/drivers/hwmon/abituguru3.c
@@ -964,13 +964,17 @@ static int abituguru3_probe(struct platform_device *pdev)
char *sysfs_filename;
u8 buf[2];
u16 id;
+ struct resource *r;

data = devm_kzalloc(&pdev->dev, sizeof(struct abituguru3_data),
GFP_KERNEL);
if (!data)
return -ENOMEM;

- data->addr = platform_get_resource(pdev, IORESOURCE_IO, 0)->start;
+ r = platform_get_resource(pdev, IORESOURCE_IO, 0);
+ if (!r)
+ return -EINVAL;
+ data->addr = r->start;
mutex_init(&data->update_lock);
platform_set_drvdata(pdev, data);

--
2.25.1