regulator: isl9305: fix array size
authorVincent Stehlé <vincent.stehle@laposte.net>
Sun, 9 Apr 2017 20:05:05 +0000 (22:05 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 10 Apr 2017 16:31:17 +0000 (17:31 +0100)
ISL9305_MAX_REGULATOR is the last index used to access the init_data[]
array, so we need to add one to this last index to obtain the necessary
array size.

This fixes the following smatch error:

  drivers/regulator/isl9305.c:160 isl9305_i2c_probe() error: buffer overflow 'pdata->init_data' 3 <= 3

Fixes: dec38b5ce6a9edb4 ("regulator: isl9305: Add Intersil ISL9305/H driver")
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/platform_data/isl9305.h

index 1419133..4ac1a07 100644 (file)
@@ -24,7 +24,7 @@
 struct regulator_init_data;
 
 struct isl9305_pdata {
-       struct regulator_init_data *init_data[ISL9305_MAX_REGULATOR];
+       struct regulator_init_data *init_data[ISL9305_MAX_REGULATOR + 1];
 };
 
 #endif