vc/amd/agesa/f16kb: Cast to UINT64 to avoid overflow

Evaluated using 32-bit arithmetic, then used in a context that
expects an expression of type UINT64. Cast to UINT64 instead.

Change-Id: I4f0aa26e116b47505633897c790ca8e86ea5dc4e
Signed-off-by: Joe Moore <awokd@danwin1210.me>
Found-by: Coverity CID 1241847
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36081
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Joe Moore 2019-10-16 05:27:41 -06:00 committed by Patrick Georgi
parent 5bba746f98
commit 2f2e113f60
1 changed files with 1 additions and 1 deletions

View File

@ -716,7 +716,7 @@ MemFGetDctInterleavedLimit (
UINT8 i; UINT8 i;
DctMemLimit = 0; DctMemLimit = 0;
if (DctInterleavedMemSize == NBPtr->DCTPtr->Timings.DctMemSize << 6) { if (DctInterleavedMemSize == (UINT64)(NBPtr->DCTPtr->Timings.DctMemSize) << 6) {
// The whole memory range is interleaved for the DCTs with the minimum memory size // The whole memory range is interleaved for the DCTs with the minimum memory size
for (i = 0; i < NBPtr->DctCount; i++) { for (i = 0; i < NBPtr->DctCount; i++) {
DctMemLimit += DctInterleavedMemSize; DctMemLimit += DctInterleavedMemSize;