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];
--
1.7.9.7
_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
[Video for Linux]
[Mplayer Users]
[Linux USB Devel]
[Linux Audio Users]
[Photos]
[Yosemite Photos]
[Free Singles Community]
[Linux Kernel]
[Linux SCSI]
[XFree86]
[Yosemite Backpacking]