cp-demangle.c (d_encoding): Guard against NULL return values from d_right (dc).
* cp-demangle.c (d_encoding): Guard against NULL return values from d_right (dc). * testsuite/demangle-expected: Add testcase. From-SVN: r270694
This commit is contained in:
parent
5bcc5a3b28
commit
927e42fd52
|
@ -1,3 +1,9 @@
|
|||
2019-04-30 Ben L <bobsayshilol@live.co.uk>
|
||||
|
||||
* cp-demangle.c (d_encoding): Guard against NULL return values from
|
||||
d_right (dc).
|
||||
* testsuite/demangle-expected: Add testcase.
|
||||
|
||||
2019-04-29 Ben L <bobsayshilol@live.co.uk>
|
||||
|
||||
* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
|
||||
|
|
|
@ -1330,8 +1330,14 @@ d_encoding (struct d_info *di, int top_level)
|
|||
really apply here; this happens when parsing a class
|
||||
which is local to a function. */
|
||||
if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME)
|
||||
while (is_fnqual_component_type (d_right (dc)->type))
|
||||
d_right (dc) = d_left (d_right (dc));
|
||||
{
|
||||
while (d_right (dc) != NULL
|
||||
&& is_fnqual_component_type (d_right (dc)->type))
|
||||
d_right (dc) = d_left (d_right (dc));
|
||||
|
||||
if (d_right (dc) == NULL)
|
||||
dc = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -72,6 +72,11 @@ _Q8ccQ4M2e.
|
|||
|
||||
_ZmmAtl
|
||||
_ZmmAtl
|
||||
# Could crash
|
||||
--no-params
|
||||
_ZZaSFvOEES_
|
||||
_ZZaSFvOEES_
|
||||
_ZZaSFvOEES_
|
||||
#
|
||||
# demangler/80513 Test for bogus characters after __thunk_
|
||||
|
||||
|
|
Loading…
Reference in New Issue