Messages in this thread | | | From | Mark Brown <> | Subject | Re: [PATCH] ab3100: fix off-by-one value range checking for voltage selector | Date | Mon, 26 Jul 2010 00:06:15 -0700 |
| |
On 25 Jul 2010, at 22:35, Axel Lin <axel.lin@gmail.com> wrote:
> The valid typ_voltages range should be 0..voltages_len-1. > > Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
It'd be nice to include a few extra words in the change log explaining that the reason for the limit is that it's an array index.
> --- > drivers/regulator/ab3100.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/regulator/ab3100.c b/drivers/regulator/ab3100.c > index 7b14a67..1179099 100644 > --- a/drivers/regulator/ab3100.c > +++ b/drivers/regulator/ab3100.c > @@ -286,7 +286,7 @@ static int ab3100_list_voltage_regulator(struct regulator_dev *reg, > { > struct ab3100_regulator *abreg = reg->reg_data; > > - if (selector > abreg->voltages_len) > + if (selector >= abreg->voltages_len) > return -EINVAL; > return abreg->typ_voltages[selector]; > } > @@ -318,7 +318,7 @@ static int ab3100_get_voltage_regulator(struct regulator_dev *reg) > regval &= 0xE0; > regval >>= 5; > > - if (regval > abreg->voltages_len) { > + if (regval >= abreg->voltages_len) { > dev_err(®->dev, > "regulator register %02x contains an illegal voltage setting\n", > abreg->regreg); > -- > 1.5.4.3 > > >
| |