2011-05-18 12:56:55

by Axel Lin

[permalink] [raw]
Subject: [PATCH] regulator: Fix off-by-one value range checking for mc13xxx_regulator_get_voltage

We use val as array index,
thus the valid value rangae for val should be 0 .. n_voltages-1.

Signed-off-by: Axel Lin <[email protected]>
---
drivers/regulator/mc13xxx-regulator-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/regulator/mc13xxx-regulator-core.c b/drivers/regulator/mc13xxx-regulator-core.c
index 2bb5de1..bc27ab1 100644
--- a/drivers/regulator/mc13xxx-regulator-core.c
+++ b/drivers/regulator/mc13xxx-regulator-core.c
@@ -174,7 +174,7 @@ static int mc13xxx_regulator_get_voltage(struct regulator_dev *rdev)

dev_dbg(rdev_get_dev(rdev), "%s id: %d val: %d\n", __func__, id, val);

- BUG_ON(val > mc13xxx_regulators[id].desc.n_voltages);
+ BUG_ON(val >= mc13xxx_regulators[id].desc.n_voltages);

return mc13xxx_regulators[id].voltages[val];
}
--
1.7.1



2011-05-18 16:30:11

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Fix off-by-one value range checking for mc13xxx_regulator_get_voltage

On Wed, May 18, 2011 at 08:56:45PM +0800, Axel Lin wrote:
> We use val as array index,
> thus the valid value rangae for val should be 0 .. n_voltages-1.
>
> Signed-off-by: Axel Lin <[email protected]>

Acked-by: Mark Brown <[email protected]>

2011-05-21 11:54:08

by Liam Girdwood

[permalink] [raw]
Subject: Re: [PATCH] regulator: Fix off-by-one value range checking for mc13xxx_regulator_get_voltage

On Wed, 2011-05-18 at 20:56 +0800, Axel Lin wrote:
> We use val as array index,
> thus the valid value rangae for val should be 0 .. n_voltages-1.
>
> Signed-off-by: Axel Lin <[email protected]>
> ---
> drivers/regulator/mc13xxx-regulator-core.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/regulator/mc13xxx-regulator-core.c b/drivers/regulator/mc13xxx-regulator-core.c
> index 2bb5de1..bc27ab1 100644
> --- a/drivers/regulator/mc13xxx-regulator-core.c
> +++ b/drivers/regulator/mc13xxx-regulator-core.c
> @@ -174,7 +174,7 @@ static int mc13xxx_regulator_get_voltage(struct regulator_dev *rdev)
>
> dev_dbg(rdev_get_dev(rdev), "%s id: %d val: %d\n", __func__, id, val);
>
> - BUG_ON(val > mc13xxx_regulators[id].desc.n_voltages);
> + BUG_ON(val >= mc13xxx_regulators[id].desc.n_voltages);
>
> return mc13xxx_regulators[id].voltages[val];
> }

Applied

Thanks

Liam