pinctrl: microchip-sgpio: check return value of devm_kasprintf()
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Thu, 15 Jun 2023 10:53:32 +0000 (13:53 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 16 Jun 2023 13:01:45 +0000 (15:01 +0200)
devm_kasprintf() returns a pointer to dynamically allocated memory.
Pointer could be NULL in case allocation fails. Check pointer validity.
Identified with coccinelle (kmerr.cocci script).

Fixes: 7e5ea974e61c ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230615105333.585304-3-claudiu.beznea@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-microchip-sgpio.c

index 59f232a..a60db93 100644 (file)
@@ -816,6 +816,9 @@ static int microchip_sgpio_register_bank(struct device *dev,
        pctl_desc->name = devm_kasprintf(dev, GFP_KERNEL, "%s-%sput",
                                         dev_name(dev),
                                         bank->is_input ? "in" : "out");
+       if (!pctl_desc->name)
+               return -ENOMEM;
+
        pctl_desc->pctlops = &sgpio_pctl_ops;
        pctl_desc->pmxops = &sgpio_pmx_ops;
        pctl_desc->confops = &sgpio_confops;