Message ID | 20241022194624.34223-1-surajsonawane0215@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | gpio: fix uninit-value in swnode_find_gpio | expand |
diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c index 2b2dd7e92..51d2475c0 100644 --- a/drivers/gpio/gpiolib-swnode.c +++ b/drivers/gpio/gpiolib-swnode.c @@ -64,7 +64,7 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode, struct fwnode_reference_args args; struct gpio_desc *desc; char propname[32]; /* 32 is max size of property name */ - int ret; + int ret = 0; swnode = to_software_node(fwnode); if (!swnode)
Fix an issue detected by the Smatch tool:\ drivers/gpio/gpiolib-swnode.c:78 swnode_find_gpio() error: uninitialized symbol 'ret'. The issue occurs because the 'ret' variable may be used without initialization if the for_each_gpio_property_name loop does not run. This could lead to returning an undefined value, causing unpredictable behavior. Initialize 'ret' to -EINVAL before the loop to ensure the function returns an error code if no properties are parsed, maintaining proper error handling. Signed-off-by: Suraj Sonawane <surajsonawane0215@gmail.com> --- drivers/gpio/gpiolib-swnode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)