cpu/ti/am355x: Fix array overrun
> Overrunning array "am335x_gpio_banks" of 4 4-byte elements at element > index 4 (byte offset 16) using index "bank" (which evaluates to 4). As the first index is 0, also error out if the index is equal the array size. Change-Id: I6b6b6e010348a58931bd546dfc54f08460e8dbbc Found-by: Coverity (CID 1354615: Memory - illegal accesses (OVERRUN)) Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> Reviewed-on: https://review.coreboot.org/16165 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
8ab989e315
commit
289f0578ce
|
@ -22,7 +22,7 @@ static struct am335x_gpio_regs *gpio_regs_and_bit(unsigned gpio, uint32_t *bit)
|
||||||
{
|
{
|
||||||
unsigned bank = gpio / AM335X_GPIO_BITS_PER_BANK;
|
unsigned bank = gpio / AM335X_GPIO_BITS_PER_BANK;
|
||||||
|
|
||||||
if (bank > ARRAY_SIZE(am335x_gpio_banks)) {
|
if (bank >= ARRAY_SIZE(am335x_gpio_banks)) {
|
||||||
printk(BIOS_ERR, "Bad gpio index %d.\n", gpio);
|
printk(BIOS_ERR, "Bad gpio index %d.\n", gpio);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue