mtd: spear_smi: add NULL check on devm_kzalloc() return value
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Thu, 6 Jul 2017 22:25:50 +0000 (17:25 -0500)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 15 Aug 2017 12:00:42 +0000 (14:00 +0200)
Check return value from call to devm_kzalloc()
in order to prevent a NULL pointer dereference.

This issue was detected using Coccinelle and the following semantic patch:

@@
expression x;
identifier fld;
@@

* x = devm_kzalloc(...);
  ... when != x == NULL
  x->fld

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/devices/spear_smi.c

index dd50698..ddf4789 100644 (file)
@@ -775,6 +775,8 @@ static int spear_smi_probe_config_dt(struct platform_device *pdev,
        pdata->board_flash_info = devm_kzalloc(&pdev->dev,
                                               sizeof(*pdata->board_flash_info),
                                               GFP_KERNEL);
        pdata->board_flash_info = devm_kzalloc(&pdev->dev,
                                               sizeof(*pdata->board_flash_info),
                                               GFP_KERNEL);
+       if (!pdata->board_flash_info)
+               return -ENOMEM;
 
        /* Fill structs for each subnode (flash device) */
        while ((pp = of_get_next_child(np, pp))) {
 
        /* Fill structs for each subnode (flash device) */
        while ((pp = of_get_next_child(np, pp))) {