Fix ubsan error in opts-global.cc
Fixes: opts-global.cc:75:15: runtime error: store to address 0x00000bc9be70 with insufficient space for an object of type 'char' which happens when mask == 0, len == 0 and we allocate zero elements. Eventually, result[0] is called which triggers the UBSAN. gcc/ChangeLog: * opts-global.cc (write_langs): Allocate at least one byte.
This commit is contained in:
parent
9a53101caa
commit
ec69db6be6
1 changed files with 1 additions and 1 deletions
|
@ -61,7 +61,7 @@ write_langs (unsigned int mask)
|
|||
if (mask & (1U << n))
|
||||
len += strlen (lang_name) + 1;
|
||||
|
||||
result = XNEWVEC (char, len);
|
||||
result = XNEWVEC (char, MAX (1, len));
|
||||
len = 0;
|
||||
for (n = 0; (lang_name = lang_names[n]) != 0; n++)
|
||||
if (mask & (1U << n))
|
||||
|
|
Loading…
Add table
Reference in a new issue