mtd: physmap-core: Fix NULL pointer dereferencing in of_select_probe_type()
authorZeng Jingxiang <linuszeng@tencent.com>
Wed, 27 Jul 2022 06:03:02 +0000 (14:03 +0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 19 Sep 2022 16:14:53 +0000 (18:14 +0200)
Coverity complains of a possible NULL dereference:

in of_select_probe_type():
1. returned_null: of_match_device() returns NULL.
2. var_assigned: match = NULL return value from of_match_device()
309 match = of_match_device(of_flash_match, &dev->dev);

3.dereference: Dereferencing the NULL pointer match.
310 probe_type = match->data;

Signed-off-by: Zeng Jingxiang <linuszeng@tencent.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220727060302.1560325-1-zengjx95@gmail.com
drivers/mtd/maps/physmap-core.c

index 85eca6a192e62da9996df2ebb9fa954f27a59916..c73854da513633a04f66fb76bde8e3b46ae14221 100644 (file)
@@ -300,6 +300,9 @@ static const char *of_select_probe_type(struct platform_device *dev)
        const char *probe_type;
 
        match = of_match_device(of_flash_match, &dev->dev);
+       if (!match)
+               return NULL;
+
        probe_type = match->data;
        if (probe_type)
                return probe_type;