mfd: sm501: Fix potential NULL pointer dereference
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Tue, 22 Jan 2019 16:56:36 +0000 (10:56 -0600)
committerLee Jones <lee.jones@linaro.org>
Thu, 7 Feb 2019 10:42:47 +0000 (10:42 +0000)
There is a potential NULL pointer dereference in case devm_kzalloc()
fails and returns NULL.

Fix this by adding a NULL check on *lookup*

This bug was detected with the help of Coccinelle.

Fixes: b2e63555592f ("i2c: gpio: Convert to use descriptors")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/sm501.c

index a530972..e0173bf 100644 (file)
@@ -1145,6 +1145,9 @@ static int sm501_register_gpio_i2c_instance(struct sm501_devdata *sm,
        lookup = devm_kzalloc(&pdev->dev,
                              sizeof(*lookup) + 3 * sizeof(struct gpiod_lookup),
                              GFP_KERNEL);
+       if (!lookup)
+               return -ENOMEM;
+
        lookup->dev_id = "i2c-gpio";
        if (iic->pin_sda < 32)
                lookup->table[0].chip_label = "SM501-LOW";