soc/intel/fsp_baytrail: Make sure i2c bus is < 7

Baytrail has I2c Busses 0 to 6, so is supposed to error out
if the I2c driver is called with 7 or greater.  Due to an off-by-one
error it could be called with bus 7.

Fixes coverity warning:
CID 1287074 (#1 of 1): Out-of-bounds read (OVERRUN)
3. overrun-local: Overrunning array base_adr of 7 4-byte elements at
element index 7 (byte offset 28) using index bus (which evaluates to 7).

Change-Id: I7caec60298cf27bd669796e0e05e4a896f92befd
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/12781
Tested-by: build bot (Jenkins)
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
Martin Roth 2015-12-21 13:14:58 -07:00
parent a4c5740752
commit c89099641e
1 changed files with 1 additions and 1 deletions

View File

@ -102,7 +102,7 @@ int i2c_init(unsigned bus)
I2C6_MEM_BASE};
char *base_ptr;
/* Ensure the desired device is valid */
if (bus > ARRAY_SIZE(base_adr)) {
if (bus >= ARRAY_SIZE(base_adr)) {
printk(BIOS_ERR, "I2C: Only I2C controllers 0...6 are available.\n");
return I2C_ERR;
}