mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-24 15:31:22 +01:00
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);
|
sbi_memset(extensions_str, 0, nestr);
|
||||||
|
|
||||||
for_each_set_bit(ext, hfeatures->extensions, SBI_HART_EXT_MAX) {
|
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,
|
sbi_snprintf(extensions_str + offset,
|
||||||
nestr - offset,
|
nestr - offset,
|
||||||
"%s,", sbi_hart_ext[ext].name);
|
"%s,", sbi_hart_ext[ext].name);
|
||||||
|
Reference in New Issue
Block a user