mirror of
https://github.com/bminor/binutils-gdb.git
synced 2026-02-04 05:21:30 +00:00
gas .xstabs missing string results in a segfault
Found by oss-fuzz. * stabs.c (s_xstab): Check result of demand_copy_C_string. (s_stab_generic): Remove duplicate warning and ignore_r_o_l after demand_copy_C_string error.
This commit is contained in:
@@ -259,11 +259,7 @@ s_stab_generic (int what,
|
||||
|
||||
string = demand_copy_C_string (&length);
|
||||
if (string == NULL)
|
||||
{
|
||||
as_warn (_(".stab%c: missing string"), what);
|
||||
ignore_rest_of_line ();
|
||||
goto out2;
|
||||
}
|
||||
goto out2;
|
||||
/* FIXME: We should probably find some other temporary storage
|
||||
for string, rather than leaking memory if someone else
|
||||
happens to use the notes obstack. */
|
||||
@@ -402,6 +398,9 @@ s_xstab (int what)
|
||||
char *stab_secname, *stabstr_secname;
|
||||
|
||||
stab_secname = demand_copy_C_string (&length);
|
||||
if (stab_secname == NULL)
|
||||
/* as_bad error has been reported. */
|
||||
return;
|
||||
SKIP_WHITESPACE ();
|
||||
if (*input_line_pointer == ',')
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user