From: Dan Carpenter Date: Tue, 27 Nov 2012 07:24:00 +0000 (+0000) Subject: iio:gyro: adis16136: divide by zero in write_frequency() X-Git-Tag: upstream/snapshot3+hdmi~6135^2^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12660138b491b56d1e70333547912c56741be5e8;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git iio:gyro: adis16136: divide by zero in write_frequency() It's slightly cleaner to use kstrtouint() because we pass unsigned ints to adis16136_set_freq(). On 64 bit systems, if the user passed LONG_MIN then it we would get past the test against zero but crash in adis16136_set_freq() because we truncate the high bits away. Signed-off-by: Dan Carpenter Acked-By: Lars-Peter Clausen Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/gyro/adis16136.c b/drivers/iio/gyro/adis16136.c index 05486df..b4ee339 100644 --- a/drivers/iio/gyro/adis16136.c +++ b/drivers/iio/gyro/adis16136.c @@ -203,10 +203,10 @@ static ssize_t adis16136_write_frequency(struct device *dev, { struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct adis16136 *adis16136 = iio_priv(indio_dev); - long val; + unsigned int val; int ret; - ret = kstrtol(buf, 10, &val); + ret = kstrtouint(buf, 10, &val); if (ret) return ret;