libiberty: Always return NULL if d_add_substitution fails.
d_add_substitution can fail for various reasons, like when the subs array is full. If d_add_substitution fails d_substitution should return NULL early and not try to continue. Every other call of d_add_substitution is handled in the same way. libiberty/ChangeLog: * cp-demangle.c (d_substitution): Return NULL if d_add_substitution fails. From-SVN: r247055
This commit is contained in:
parent
1240212c6b
commit
13b6ef76dc
2 changed files with 7 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2017-04-21 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* cp-demangle.c (d_substitution): Return NULL if d_add_substitution
|
||||
fails.
|
||||
|
||||
2017-04-21 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* cp-demangle.h (struct d_info): Remove did_subs field.
|
||||
|
|
|
@ -3891,7 +3891,8 @@ d_substitution (struct d_info *di, int prefix)
|
|||
/* If there are ABI tags on the abbreviation, it becomes
|
||||
a substitution candidate. */
|
||||
dc = d_abi_tags (di, dc);
|
||||
d_add_substitution (di, dc);
|
||||
if (! d_add_substitution (di, dc))
|
||||
return NULL;
|
||||
}
|
||||
return dc;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue