staging: pi433: fix potential null dereference
authorMichael Straube <straube.linux@gmail.com>
Sun, 25 Nov 2018 09:22:25 +0000 (10:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 18:46:00 +0000 (19:46 +0100)
[ 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

index 93c0168..5be40bd 100644 (file)
@@ -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);