diff options
author | Richard Spiegel <richard.spiegel@amd.corp-partner.google.com> | 2018-03-28 13:43:48 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-04-24 17:14:29 +0000 |
commit | f35cc4d60ff86f1f0d7a5f423e0a092e9c45990e (patch) | |
tree | 006a74b8ae91bb6498800832157f69cbab1a1e6a /src | |
parent | e07e4f3961322383e05635c7e18b4dd1700750b3 (diff) | |
download | coreboot-f35cc4d60ff86f1f0d7a5f423e0a092e9c45990e.tar.xz |
soc/amd/common/block/pi/amd_late_init.c: Fix illegal memory access
Found-by: Coverity (CID 1387031: Memory - illegal accesses
(BUFFER_SIZE_WARNING)). Calling strncpy with a maximum size argument of
19 bytes on destination array "dimm->module_part_number" of size 19 bytes
might leave the destination string unterminated. Fix the size parameter.
BUG=b:76202696
TEST=Build and boot kahlee, using special debug code to see the output
strings, which was later removed.
Change-Id: I18fa5e9c73401575441b6810f1db80d11666368c
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25419
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/amd/common/block/pi/amd_late_init.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/soc/amd/common/block/pi/amd_late_init.c b/src/soc/amd/common/block/pi/amd_late_init.c index b410602694..68cf3a1ba3 100644 --- a/src/soc/amd/common/block/pi/amd_late_init.c +++ b/src/soc/amd/common/block/pi/amd_late_init.c @@ -59,9 +59,7 @@ static void transfer_memory_info(TYPE17_DMI_INFO *dmi17, dimm->bank_locator = 0; strncpy((char *)dimm->module_part_number, dmi17->PartNumber, - sizeof(dimm->module_part_number)); - - dimm->module_part_number[sizeof(dimm->module_part_number) - 1] = 0; + sizeof(dimm->module_part_number) - 1); } static void print_dimm_info(const struct dimm_info *dimm) |