soc/intel/common: Pass the minimum possible string length for strncpy
In strncpy() function of dimm_info_fill(), the minimum possible size of Module Part Number of DIMM is passed as argument. BUG=chrome-os-partner:61729 BRANCH=none TEST=Build and boot KBLRVP to verify the type 17 DIMM info coming in SMBIOS Table from Kernel command "dmidecode". Change-Id: Icc7667149eae9705b91e271628af1b443eb8556e Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com> Reviewed-on: https://review.coreboot.org/18617 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
committed by
Aaron Durbin
parent
674c089922
commit
6497cd9744
@@ -20,7 +20,8 @@
|
|||||||
|
|
||||||
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
||||||
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
||||||
u32 frequency, u8 channel_id, u8 dimm_id, const char *module_part_num,
|
u32 frequency, u8 channel_id, u8 dimm_id,
|
||||||
|
const char *module_part_num, size_t module_part_number_size,
|
||||||
u16 data_width)
|
u16 data_width)
|
||||||
{
|
{
|
||||||
dimm->dimm_size = dimm_capacity;
|
dimm->dimm_size = dimm_capacity;
|
||||||
@@ -30,7 +31,8 @@ void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
|||||||
dimm->dimm_num = dimm_id;
|
dimm->dimm_num = dimm_id;
|
||||||
strncpy((char *)dimm->module_part_number,
|
strncpy((char *)dimm->module_part_number,
|
||||||
module_part_num,
|
module_part_num,
|
||||||
sizeof(dimm->module_part_number));
|
min(sizeof(dimm->module_part_number),
|
||||||
|
module_part_number_size));
|
||||||
switch (data_width) {
|
switch (data_width) {
|
||||||
case 8:
|
case 8:
|
||||||
dimm->bus_width = MEMORY_BUS_WIDTH_8;
|
dimm->bus_width = MEMORY_BUS_WIDTH_8;
|
||||||
|
@@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
||||||
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
||||||
u32 frequency, u8 channel_id, u8 dimm_id, const char *module_part_num,
|
u32 frequency, u8 channel_id, u8 dimm_id,
|
||||||
|
const char *module_part_num, size_t module_part_number_size,
|
||||||
u16 data_width);
|
u16 data_width);
|
||||||
|
|
||||||
#endif /* _COMMON_SMBIOS_H_ */
|
#endif /* _COMMON_SMBIOS_H_ */
|
||||||
|
Reference in New Issue
Block a user