From 2fdcb64ec96dc80ae83d289ba9d18e20f86f2930 Mon Sep 17 00:00:00 2001 From: Yu-Ping Wu Date: Thu, 10 Feb 2022 17:27:57 +0800 Subject: soc/mediatek: Fix printing SPM version Currently the SPM version string is stored at the end of the blob, possibly without a trailing '\0'. Therefore, we should be careful not to print characters beyond the blob size. BUG=b:211944565 TEST=emerge-corsola coreboot TEST=SPM version looked good in AP console BRANCH=asurada,cherry Change-Id: Icfeb686539dc20cf5b78de77c27bdbb137b5d624 Signed-off-by: Yu-Ping Wu Reviewed-on: https://review.coreboot.org/c/coreboot/+/61800 Tested-by: build bot (Jenkins) Reviewed-by: Hung-Te Lin --- src/soc/mediatek/common/spm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/soc/mediatek/common/spm.c b/src/soc/mediatek/common/spm.c index c4eabd0dcf..a17fba5c9d 100644 --- a/src/soc/mediatek/common/spm.c +++ b/src/soc/mediatek/common/spm.c @@ -50,5 +50,7 @@ void spm_parse_firmware(struct mtk_mcu *mcu) /* Version */ offset += copy_size; assert(offset < file_size); - printk(BIOS_INFO, "SPM: spmfw (version %s)\n", (u8 *)mcu->load_buffer + offset); + printk(BIOS_INFO, "SPM: spmfw (version %.*s)\n", + (int)(file_size - offset), + (u8 *)mcu->load_buffer + offset); } -- cgit v1.2.3