Edward O'Callaghan (eocallaghan@alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7353
-gerrit
commit c15db53bb3d15be1f739109d2d9137a424d947dd Author: Edward O'Callaghan eocallaghan@alterapraxis.com Date: Sat Nov 8 09:35:31 2014 +1100
device/dram/ddr3.c: Fix sizeof on array func param overflow
The sizeof on array function parameter will return size of 'u8 *' instead of 'spd_raw_data' (aka 'u8 [256]' leading to an overflow.
Found-by: Clang Change-Id: I78e113a640b2953c853eb43bd6874e4694260b1f Signed-off-by: Edward O'Callaghan eocallaghan@alterapraxis.com --- src/device/dram/ddr3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/device/dram/ddr3.c b/src/device/dram/ddr3.c index a43caed..00f2ba9 100644 --- a/src/device/dram/ddr3.c +++ b/src/device/dram/ddr3.c @@ -127,7 +127,7 @@ int spd_decode_ddr3(dimm_attr * dimm, spd_raw_data spd) } dimm->dram_type = SPD_MEMORY_TYPE_SDRAM_DDR3;
- crc = spd_ddr3_calc_crc(spd, sizeof(spd)); + crc = spd_ddr3_calc_crc(spd, sizeof(*spd)); /* Compare with the CRC in the SPD */ spd_crc = (spd[127] << 8) + spd[126]; /* Verify the CRC is correct */