[PATCH 3.16 045/134] power: supply: lp8788: prevent out of bounds array access

From: Ben Hutchings
Date: Fri Aug 18 2017 - 09:48:43 EST


3.16.47-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Giedrius StatkeviÄius
<giedrius.statkevicius@xxxxxxxxx>

commit bdd9968d35f7fcdb76089347d1529bf079534214 upstream.

val might become 7 in which case stime[7] (array of length 7) would be
accessed during the scnprintf call later and that will cause issues.
Obviously, string concatenation is not intended here so just a comma needs
to be added to fix the issue.

Fixes: 98a276649358 ("power_supply: Add new lp8788 charger driver")
Signed-off-by: Giedrius StatkeviÄius <giedrius.statkevicius@xxxxxxxxx>
Acked-by: Milo Kim <milo.kim@xxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
[bwh: Backported to 3.16: adjust filename]
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/power/lp8788-charger.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/power/lp8788-charger.c
+++ b/drivers/power/lp8788-charger.c
@@ -642,7 +642,7 @@ static ssize_t lp8788_show_eoc_time(stru
{
struct lp8788_charger *pchg = dev_get_drvdata(dev);
char *stime[] = { "400ms", "5min", "10min", "15min",
- "20min", "25min", "30min" "No timeout" };
+ "20min", "25min", "30min", "No timeout" };
u8 val;

lp8788_read_byte(pchg->lp, LP8788_CHG_EOC, &val);