hwmon: (asus_wmi_sensors) fix an array overflow
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 30 Nov 2021 10:51:17 +0000 (13:51 +0300)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 26 Dec 2021 23:02:06 +0000 (15:02 -0800)
Smatch detects this array overflow:

    drivers/hwmon/asus_wmi_sensors.c:569 asus_wmi_configure_sensor_setup()
    error: buffer overflow 'hwmon_attributes' 8 <= 9

The hwmon_attributes[] array should have "hwmon_max" so that it gets
larger when more attributes are added.

Fixes: 9d07e54a25b8 ("hwmon: (asus_wmi_sensors) Support X370 Asus WMI.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211130105117.GH5827@kili
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/asus_wmi_sensors.c

index 67af15d..c80eee8 100644 (file)
@@ -125,7 +125,7 @@ static enum hwmon_sensor_types asus_data_types[] = {
        [WATER_FLOW]    = hwmon_fan,
 };
 
-static u32 hwmon_attributes[] = {
+static u32 hwmon_attributes[hwmon_max] = {
        [hwmon_chip]    = HWMON_C_REGISTER_TZ,
        [hwmon_temp]    = HWMON_T_INPUT | HWMON_T_LABEL,
        [hwmon_in]      = HWMON_I_INPUT | HWMON_I_LABEL,