Messages in this thread Patch in this message | | | From | Colin King <> | Subject | [PATCH] agp: check for index out of range before accessing maxes_table[index] | Date | Thu, 6 Sep 2018 12:19:30 +0100 |
| |
From: Colin Ian King <colin.king@canonical.com>
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@canonical.com> --- 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
| |