| From 48f4f6835a0c749b412824711b86f11526e46f18 Mon Sep 17 00:00:00 2001 |
| From: Michael Straube <straube.linux@gmail.com> |
| Date: Sun, 25 Nov 2018 10:22:25 +0100 |
| Subject: staging: pi433: fix potential null dereference |
| |
| [ Upstream commit 64c4c4ca6c129a4191e8e1e91b2d5d9b8d08c518 ] |
| |
| Add a test for successful call to cdev_alloc() to avoid |
| potential null dereference. Issue reported by smatch. |
| |
| Signed-off-by: Michael Straube <straube.linux@gmail.com> |
| Fixes: 874bcba65f9a ("staging: pi433: New driver") |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/staging/pi433/pi433_if.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c |
| index 93c01680f016..5be40bdc191b 100644 |
| --- a/drivers/staging/pi433/pi433_if.c |
| +++ b/drivers/staging/pi433/pi433_if.c |
| @@ -1210,6 +1210,10 @@ static int pi433_probe(struct spi_device *spi) |
| |
| /* create cdev */ |
| device->cdev = cdev_alloc(); |
| + if (!device->cdev) { |
| + dev_dbg(device->dev, "allocation of cdev failed"); |
| + goto cdev_failed; |
| + } |
| device->cdev->owner = THIS_MODULE; |
| cdev_init(device->cdev, &pi433_fops); |
| retval = cdev_add(device->cdev, device->devt, 1); |
| -- |
| 2.19.1 |
| |