]> git.hungrycats.org Git - linux/commitdiff
power: supply: lp8788: prevent out of bounds array access
authorGiedrius Statkevičius <giedrius.statkevicius@gmail.com>
Sat, 25 Mar 2017 16:00:49 +0000 (18:00 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 26 Aug 2017 01:14:31 +0000 (02:14 +0100)
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@gmail.com>
Acked-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
[bwh: Backported to 3.16: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/power/lp8788-charger.c

index 72da2a6c22db953b1c9c95a84fc27a9007580891..620dc18b113790d2fa0766c67396ef952e845a41 100644 (file)
@@ -642,7 +642,7 @@ static ssize_t lp8788_show_eoc_time(struct device *dev,
 {
        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);