Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1467219
| From | Jonathan Cameron <jic23@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] iio: ad5755: fix off-by-one on devnr limit check |
| Date | 2016-08-21 21:40 +0200 |
| Message-ID | <s8GL9-4yb-39@gated-at.bofh.it> (permalink) |
| References | <rYWRb-2gm-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 25/07/16 23:40, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The comparison for devnr limits is off-by-one, the current check
> allows 0 to AD5755_NUM_CHANNELS and the limit should be in fact
> 0 to AD5755_NUM_CHANNELS - 1. This can lead to an out of bounds
> write to pdata->dac[devnr]. Fix this by replacing > with >= on the
> comparison.
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Lars?
Looks correct to me.
I'd also like a fixes tag for this if possible. Guessing it
might well be the original driver introduction but best to be
sure ;)
Jonathan
> ---
> drivers/iio/dac/ad5755.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
> index 0fde593..5f79682 100644
> --- a/drivers/iio/dac/ad5755.c
> +++ b/drivers/iio/dac/ad5755.c
> @@ -655,7 +655,7 @@ static struct ad5755_platform_data *ad5755_parse_dt(struct device *dev)
>
> devnr = 0;
> for_each_child_of_node(np, pp) {
> - if (devnr > AD5755_NUM_CHANNELS) {
> + if (devnr >= AD5755_NUM_CHANNELS) {
> dev_err(dev,
> "There is to many channels defined in DT\n");
> goto error_out;
>
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [PATCH] iio: ad5755: fix off-by-one on devnr limit check Jonathan Cameron <jic23@kernel.org> - 2016-08-21 21:40 +0200 Re: [PATCH] iio: ad5755: fix off-by-one on devnr limit check Lars-Peter Clausen <lars@metafoo.de> - 2016-08-21 22:40 +0200
csiph-web