diff options
author | Subrata Banik <subrata.banik@intel.com> | 2019-11-01 13:55:39 +0530 |
---|---|---|
committer | Subrata Banik <subrata.banik@intel.com> | 2019-11-04 08:19:50 +0000 |
commit | 522b7c032487ad61f9fc5590ea9259044fb06061 (patch) | |
tree | 0848a1fa07aeb4dd84d221facc423d40a8c6eac4 /src/soc/intel/icelake/bootblock | |
parent | bda870242e16d3406eb1598059b587aee2856dd6 (diff) |
soc/intel/icelake: Clean up report_cpu_info() function
This patch makes below clean up for report_cpu_info() function
1. Replace cpu_string with cpu_not_found
2. Assign default string "Platform info not available" to cpu_not_found string
3. Add array out of bound check while skiping leading white space in cpu brand
string name
Change-Id: I41c76eb93f0c5229c4a49aa041339b8ad51ad34a
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36531
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/icelake/bootblock')
-rw-r--r-- | src/soc/intel/icelake/bootblock/report_platform.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/soc/intel/icelake/bootblock/report_platform.c b/src/soc/intel/icelake/bootblock/report_platform.c index a9eef40756..660aab9101 100644 --- a/src/soc/intel/icelake/bootblock/report_platform.c +++ b/src/soc/intel/icelake/bootblock/report_platform.c @@ -93,7 +93,8 @@ static void report_cpu_info(void) { struct cpuid_result cpuidr; u32 i, index, cpu_id, cpu_feature_flag; - char cpu_string[50], *cpu_name = cpu_string; /* 48 bytes are reported */ + const char cpu_not_found[] = "Platform info not available"; + const char *cpu_name = cpu_not_found; /* 48 bytes are reported */ int vt, txt, aes; msr_t microcode_ver; static const char *const mode[] = {"NOT ", ""}; @@ -102,9 +103,7 @@ static void report_cpu_info(void) index = 0x80000000; cpuidr = cpuid(index); - if (cpuidr.eax < 0x80000004) { - strcpy(cpu_string, "Platform info not available"); - } else { + if (cpuidr.eax >= 0x80000004) { int j = 0; for (i = 2; i <= 4; i++) { @@ -116,10 +115,11 @@ static void report_cpu_info(void) } p[12] = 0; cpu_name = (char *)p; + + /* Skip leading spaces in CPU name string */ + while (cpu_name[0] == ' ' && strlen(cpu_name) > 0) + cpu_name++; } - /* Skip leading spaces in CPU name string */ - while (cpu_name[0] == ' ') - cpu_name++; microcode_ver.lo = 0; microcode_ver.hi = 0; |