On Tue, 19 Jun 2012 08:46:41 -0700, Guenter Roeck wrote: > If a bad parameter is passed to applesmc_read_motion_sensor(), an uninitialized > and thus arbitrary value is returned. Fix by returning immediately if a bad > parameter is detected. > > Cc: Henrik Rydberg <rydberg@xxxxxxxxxxx> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/hwmon/applesmc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c > index f082e48..cc8dd57 100644 > --- a/drivers/hwmon/applesmc.c > +++ b/drivers/hwmon/applesmc.c > @@ -450,7 +450,7 @@ static int applesmc_read_motion_sensor(int index, s16 *value) > ret = applesmc_read_key(MOTION_SENSOR_Z_KEY, buffer, 2); > break; > default: > - ret = -EINVAL; > + return -EINVAL; > } > > *value = ((s16)buffer[0] << 8) | buffer[1]; It doesn't really matter as this code is never executed anyway. That would be a driver bug if it was. A better fix would probably be to get rid of this branch altogether. -- Jean Delvare _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors