regmap: fix NULL deref on lookup
authorJohan Hovold <johan+linaro@kernel.org>
Fri, 6 Oct 2023 08:21:04 +0000 (10:21 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 9 Oct 2023 12:13:53 +0000 (13:13 +0100)
Not all regmaps have a name so make sure to check for that to avoid
dereferencing a NULL pointer when dev_get_regmap() is used to lookup a
named regmap.

Fixes: e84861fec32d ("regmap: dev_get_regmap_match(): fix string comparison")
Cc: stable@vger.kernel.org # 5.8
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20231006082104.16707-1-johan+linaro@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap.c

index 884cb51..234a84e 100644 (file)
@@ -1478,7 +1478,7 @@ static int dev_get_regmap_match(struct device *dev, void *res, void *data)
 
        /* If the user didn't specify a name match any */
        if (data)
-               return !strcmp((*r)->name, data);
+               return (*r)->name && !strcmp((*r)->name, data);
        else
                return 1;
 }