]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] hwmon: Fix missing boundary check when setting W83627THF in0 limits
authorYuan Mu <Ymu@winbond.com.tw>
Mon, 14 Nov 2005 22:08:38 +0000 (23:08 +0100)
committerChris Wright <chrisw@osdl.org>
Thu, 24 Nov 2005 22:10:12 +0000 (14:10 -0800)
Add SENSORS_LIMIT in store VCore limit functions. This fixes a potential
u8 overflow on out-of-range user input.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Chris Wright <chrisw@osdl.org>
drivers/hwmon/w83627hf.c

index 3479dc5208e2d3a9ac8d707177a9b17948e7c65f..b986f917e9950c7c8664fd770115c3d750b97036 100644 (file)
@@ -454,7 +454,9 @@ static ssize_t store_regs_in_min0(struct device *dev, struct device_attribute *a
                (w83627thf == data->type || w83637hf == data->type))
 
                /* use VRM9 calculation */
-               data->in_min[0] = (u8)(((val * 100) - 70000 + 244) / 488);
+               data->in_min[0] =
+                       SENSORS_LIMIT(((val * 100) - 70000 + 244) / 488, 0,
+                                       255);
        else
                /* use VRM8 (standard) calculation */
                data->in_min[0] = IN_TO_REG(val);
@@ -479,7 +481,9 @@ static ssize_t store_regs_in_max0(struct device *dev, struct device_attribute *a
                (w83627thf == data->type || w83637hf == data->type))
                
                /* use VRM9 calculation */
-               data->in_max[0] = (u8)(((val * 100) - 70000 + 244) / 488);
+               data->in_max[0] =
+                       SENSORS_LIMIT(((val * 100) - 70000 + 244) / 488, 0,
+                                       255);
        else
                /* use VRM8 (standard) calculation */
                data->in_max[0] = IN_TO_REG(val);