backlight: mp3309c: Fix uninitialized local variable
authorFlavio Suligoi <f.suligoi@asem.it>
Wed, 29 Nov 2023 16:45:14 +0000 (17:45 +0100)
committerLee Jones <lee@kernel.org>
Fri, 1 Dec 2023 11:24:21 +0000 (11:24 +0000)
In the function "pm3309c_parse_dt_node", when the dimming analog control
mode (by I2C messages) is enabled, the local variable "prop_levels" is
tested without any initialization, as indicated by the following smatch
warning:

drivers/video/backlight/mp3309c.c:279 pm3309c_parse_dt_node() error: uninitialized symbol 'prop_levels'.

To avoid any problem in case of undefined behavior, we need to initialize
it to "NULL".

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/dri-devel/af0a1870-693b-442f-9b11-0503cfcd944a@moroto.mountain/
Fixes: 2e914516a58c ("backlight: mp3309c: Add support for MPS MP3309C")
Signed-off-by: Flavio Suligoi <f.suligoi@asem.it>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20231129164514.2772719-1-f.suligoi@asem.it
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/video/backlight/mp3309c.c

index 3fe4469ef43fd755e13016ef11c6aeb20bf4bce3..34d71259fac1d7da3222f02ef8bc716a8e54f25c 100644 (file)
@@ -203,7 +203,8 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
                                 struct mp3309c_platform_data *pdata)
 {
        struct device_node *node = chip->dev->of_node;
-       struct property *prop_pwms, *prop_levels;
+       struct property *prop_pwms;
+       struct property *prop_levels = NULL;
        int length = 0;
        int ret, i;
        unsigned int num_levels, tmp_value;