Messages in this thread Patch in this message | | | Subject | [PATCH 1/2] regulator: tps6586x-regulator - fix value range checking for val | From | Axel Lin <> | Date | Sun, 22 Aug 2010 22:38:15 +0800 |
| |
val is used as array index of ri->voltages. Thus the valid value range should be 0 .. ri->desc.n_voltages - 1.
Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/regulator/tps6586x-regulator.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/regulator/tps6586x-regulator.c b/drivers/regulator/tps6586x-regulator.c index 8cff141..facd439 100644 --- a/drivers/regulator/tps6586x-regulator.c +++ b/drivers/regulator/tps6586x-regulator.c @@ -133,7 +133,7 @@ static int tps6586x_ldo_get_voltage(struct regulator_dev *rdev) mask = ((1 << ri->volt_nbits) - 1) << ri->volt_shift; val = (val & mask) >> ri->volt_shift; - if (val > ri->desc.n_voltages) + if (val >= ri->desc.n_voltages) BUG(); return ri->voltages[val] * 1000; -- 1.7.0.4
| |