forked from Mirrors/opensbi
lib: sbi: Handle length of extension name string exceed buffer size error
print error message and turncat the string when length of extension name string exceed buffer size Signed-off-by: Jimmy Ho <jimmy.ho@sifive.com> Reviewed-by: Nick Hu <nick.hu@sifive.com> Reviewed-by: Zong Li <zong.li@sifive.com> Link: https://lore.kernel.org/r/20250321001450.11189-1-jimmy.ho@sifive.com Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
@@ -721,6 +721,10 @@ void sbi_hart_get_extensions_str(struct sbi_scratch *scratch,
|
||||
sbi_memset(extensions_str, 0, nestr);
|
||||
|
||||
for_each_set_bit(ext, hfeatures->extensions, SBI_HART_EXT_MAX) {
|
||||
if (offset + sbi_strlen(sbi_hart_ext[ext].name) + 1 > nestr) {
|
||||
sbi_printf("%s:extension name is longer than buffer (error)\n", __func__);
|
||||
break;
|
||||
}
|
||||
sbi_snprintf(extensions_str + offset,
|
||||
nestr - offset,
|
||||
"%s,", sbi_hart_ext[ext].name);
|
||||
|
Reference in New Issue
Block a user