Thread (3 messages) 3 messages, 3 authors, 2021-05-26

Re: [PATCH] HID: logitech-hidpp: initialize level variable

From: Filipe Laíns <lains@riseup.net>
Date: 2021-05-16 03:31:13
Also in: lkml

On Fri, 2021-05-07 at 12:18 -0700, trix@redhat.com wrote:
quoted hunk ↗ jump to hunk
From: Tom Rix <trix@redhat.com>

Static analysis reports this representative problem

hid-logitech-hidpp.c:1356:23: warning: Assigned value is
  garbage or undefined
        hidpp->battery.level = level;
                             ^ ~~~~~

In some cases, 'level' is never set in hidpp20_battery_map_status_voltage()
Since level is not available on all hw, initialize level to unknown.

Fixes: be281368f297 ("hid-logitech-hidpp: read battery voltage from newer
devices")
Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/hid/hid-logitech-hidpp.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-
hidpp.c
index 69670ca7e1e1..61635e629469 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -1265,6 +1265,7 @@ static int hidpp20_battery_map_status_voltage(u8
data[3], int *voltage,
        int status;
 
        long flags = (long) data[2];
+       *level = POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN;
 
        if (flags & 0x80)
                switch (flags & 0x07) {
Hi Tom,

Taking a look at how this function is used, it does make sense to initialize the
level, thank you :)

Reviewed-by: Filipe Laíns <lains@riseup.net>

Cheers,
Filipe Laíns

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help