]> git.baikalelectronics.ru Git - kernel.git/commit
hwmon: (applesmc) check status earlier.
authorTom Rix <trix@redhat.com>
Thu, 20 Aug 2020 13:19:32 +0000 (06:19 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 21 Aug 2020 18:32:34 +0000 (11:32 -0700)
commit7be5caea9c2defe422bbee194a4b8536a1561975
tree4ea85106d15e6de790e06c027528a0c646c33f27
parent4b02282d00a227ef929e6a5d16ac15eb8770a6fe
hwmon: (applesmc) check status earlier.

clang static analysis reports this representative problem

applesmc.c:758:10: warning: 1st function call argument is an
  uninitialized value
        left = be16_to_cpu(*(__be16 *)(buffer + 6)) >> 2;
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

buffer is filled by the earlier call

ret = applesmc_read_key(LIGHT_SENSOR_LEFT_KEY, ...

This problem is reported because a goto skips the status check.
Other similar problems use data from applesmc_read_key before checking
the status.  So move the checks to before the use.

Signed-off-by: Tom Rix <trix@redhat.com>
Reviewed-by: Henrik Rydberg <rydberg@bitmath.org>
Link: https://lore.kernel.org/r/20200820131932.10590-1-trix@redhat.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/applesmc.c