regulator: lp8788-buck: Silence build warning
PATCH 1/1 regulator: lp8788-buck: Silence build warning
This driver use id as array index, thus add bounder checking for id.
This patch fixes below build warning:drivers/regulator/lp8788-buck.c: In function 'lp8788_buck_probe':drivers/regulator/lp8788-buck.c:490:8: warning: array subscript is above array bounds [-Warray-bounds] drivers/regulator/lp8788-buck.c:489:63: warning: array subscript is above array bounds [-Warray-bounds]
Reported-by Fengguang Wu <[email protected]>
Signed-off-by Axel Lin <[email protected]>
---
Hi Fengguang,
My toolchain does not show the warning you mentioned, can you test if this patch indeed silence the build warning?
Thanks,
Axel
drivers/regulator/lp8788-buck.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/regulator/lp8788-buck.c +4 -1
@@ -474,7 +474,7 @@ static int lp8788_init_dvs(struct platform_device *pdev,u8 default_dvs_mode[] = {LP8788_BUCK1_DVS_I2C ,LP8788_BUCK2_DVS_I2C };/* no dvs for buck3, 4 */ -if (id ==BUCK3 || id ==BUCK4 ) +if (id >BUCK2 )return 0 ;/* no dvs platform data, then dvs will be selected by I2C registers */
@@ -505,6 +505,9 @@ static int lp8788_buck_probe(struct platform_device *pdev)struct regulator_dev *rdev;int ret; +if (id >=LP8788_NUM_BUCKS ) +return -EINVAL ; + buck =devm_kzalloc (&pdev->dev,sizeof (struct lp8788_buck ),GFP_KERNEL );if (!buck)return -ENOMEM ;
Signature · 1 line
1.7.9.5
Thanks for the fix! It works!
Tested-by Fengguang Wu <[email protected]>
Mark Brown
AppliedQuoted 1 line · Axel Lin
This driver use id as array index, thus add bounder checking for id.
Applied, thanks.