From: Axel Lin Date: Wed, 13 Oct 2010 02:44:39 +0000 (+0800) Subject: mfd: Fix off-by-one value range checking for tps6507x X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a8d6aa08dd3e004df6a6e63a61698d834a191ad3;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git mfd: Fix off-by-one value range checking for tps6507x If bytes == (TPS6507X_MAX_REGISTER + 1), we have a buffer overflow when doing memcpy(&msg[1], src, bytes). Signed-off-by: Axel Lin Signed-off-by: Samuel Ortiz --- diff --git a/drivers/mfd/tps6507x.c b/drivers/mfd/tps6507x.c index fc0197649281..33ba7723c967 100644 --- a/drivers/mfd/tps6507x.c +++ b/drivers/mfd/tps6507x.c @@ -68,7 +68,7 @@ static int tps6507x_i2c_write_device(struct tps6507x_dev *tps6507x, char reg, u8 msg[TPS6507X_MAX_REGISTER + 1]; int ret; - if (bytes > (TPS6507X_MAX_REGISTER + 1)) + if (bytes > TPS6507X_MAX_REGISTER) return -EINVAL; msg[0] = reg;