提交 50d4b306 编写于 作者: D Dan Carpenter 提交者: Jonathan Cameron

staging:iio: prevent divide by zero bugs

"val" is used as a divisor later, so we should check for zero here to
avoid a division by zero.
Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
Acked-by: NLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: NJonathan Cameron <jic23@kernel.org>
上级 95d1c8c7
...@@ -647,6 +647,8 @@ static ssize_t ad7192_write_frequency(struct device *dev, ...@@ -647,6 +647,8 @@ static ssize_t ad7192_write_frequency(struct device *dev,
ret = strict_strtoul(buf, 10, &lval); ret = strict_strtoul(buf, 10, &lval);
if (ret) if (ret)
return ret; return ret;
if (lval == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
if (iio_buffer_enabled(indio_dev)) { if (iio_buffer_enabled(indio_dev)) {
......
...@@ -195,6 +195,8 @@ static ssize_t adis16260_write_frequency(struct device *dev, ...@@ -195,6 +195,8 @@ static ssize_t adis16260_write_frequency(struct device *dev,
ret = strict_strtol(buf, 10, &val); ret = strict_strtol(buf, 10, &val);
if (ret) if (ret)
return ret; return ret;
if (val == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
if (spi_get_device_id(st->us)) { if (spi_get_device_id(st->us)) {
......
...@@ -234,6 +234,8 @@ static ssize_t adis16400_write_frequency(struct device *dev, ...@@ -234,6 +234,8 @@ static ssize_t adis16400_write_frequency(struct device *dev,
ret = strict_strtol(buf, 10, &val); ret = strict_strtol(buf, 10, &val);
if (ret) if (ret)
return ret; return ret;
if (val == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
......
...@@ -425,6 +425,8 @@ static ssize_t ade7753_write_frequency(struct device *dev, ...@@ -425,6 +425,8 @@ static ssize_t ade7753_write_frequency(struct device *dev,
ret = strict_strtol(buf, 10, &val); ret = strict_strtol(buf, 10, &val);
if (ret) if (ret)
return ret; return ret;
if (val == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
......
...@@ -445,6 +445,8 @@ static ssize_t ade7754_write_frequency(struct device *dev, ...@@ -445,6 +445,8 @@ static ssize_t ade7754_write_frequency(struct device *dev,
ret = strict_strtol(buf, 10, &val); ret = strict_strtol(buf, 10, &val);
if (ret) if (ret)
return ret; return ret;
if (val == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
......
...@@ -385,6 +385,8 @@ static ssize_t ade7759_write_frequency(struct device *dev, ...@@ -385,6 +385,8 @@ static ssize_t ade7759_write_frequency(struct device *dev,
ret = strict_strtol(buf, 10, &val); ret = strict_strtol(buf, 10, &val);
if (ret) if (ret)
return ret; return ret;
if (val == 0)
return -EINVAL;
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册