]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
backlight: pm8941: Add NULL check in wled_configure()
authorHenry Martin <bsdhenrymartin@gmail.com>
Tue, 1 Apr 2025 09:16:47 +0000 (17:16 +0800)
committerLee Jones <lee@kernel.org>
Tue, 15 Apr 2025 17:27:38 +0000 (18:27 +0100)
devm_kasprintf() returns NULL when memory allocation fails. Currently,
wled_configure() does not check for this case, which results in a NULL
pointer dereference.

Add NULL check after devm_kasprintf() to prevent this issue.

Fixes: f86b77583d88 ("backlight: pm8941: Convert to using %pOFn instead of device_node.name")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org>
Link: https://lore.kernel.org/r/20250401091647.22784-1-bsdhenrymartin@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/backlight/qcom-wled.c

index 9afe701b2a1b648f2bd6645a7f2caf1c9394f239..a63bb42c8f8b0333cd6d0ddc5bda93916da3fef3 100644 (file)
@@ -1406,9 +1406,11 @@ static int wled_configure(struct wled *wled)
        wled->ctrl_addr = be32_to_cpu(*prop_addr);
 
        rc = of_property_read_string(dev->of_node, "label", &wled->name);
-       if (rc)
+       if (rc) {
                wled->name = devm_kasprintf(dev, GFP_KERNEL, "%pOFn", dev->of_node);
-
+               if (!wled->name)
+                       return -ENOMEM;
+       }
        switch (wled->version) {
        case 3:
                u32_opts = wled3_opts;