[PATCH] agp: check for index out of range before accessing maxes_table[index]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Currently maxes_table[index] is accessed before index is checked to
be out of range.  Fix this by performing the out of range check on
index first.  Also don't check against a hard-coded maximum value
but use the array size instead.

Detected by static analysis with cppcheck:
"Array index 'index' is used before limits check"

Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
 drivers/char/agp/backend.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c
index 38ffb281df97..4e07f01833a2 100644
--- a/drivers/char/agp/backend.c
+++ b/drivers/char/agp/backend.c
@@ -121,7 +121,8 @@ static int agp_find_max(void)
 #endif
 	index = 1;
 
-	while ((memory > maxes_table[index].mem) && (index < 8))
+	while ((index < ARRAY_SIZE(maxes_table) - 1) &&
+	       (memory > maxes_table[index].mem))
 		index++;
 
 	result = maxes_table[index - 1].agp +
-- 
2.17.1




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux