cp-demangle.c (d_expression_1): Don't peek ahead unless the current char is valid.

* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
	char is valid.
	* testsuite/demangle-expected: Add testcase.

From-SVN: r270664
This commit is contained in:
Ben L 2019-04-29 22:19:01 +00:00 committed by Jeff Law
parent 7fb1d0214e
commit 956bea2cd6
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2019-04-29 Ben L <bobsayshilol@live.co.uk>
* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
char is valid.
* testsuite/demangle-expected: Add testcase.
2019-04-10 Nick Clifton <nickc@redhat.com>
PR 89394

View File

@ -3359,7 +3359,7 @@ d_expression_1 (struct d_info *di)
d_advance (di, 2);
if (peek == 't')
type = cplus_demangle_type (di);
if (!d_peek_next_char (di))
if (!d_peek_char (di) || !d_peek_next_char (di))
return NULL;
return d_make_comp (di, DEMANGLE_COMPONENT_INITIALIZER_LIST,
type, d_exprlist (di, 'E'));

View File

@ -68,6 +68,10 @@ _$_H1R
_Q8ccQ4M2e.
_Q8ccQ4M2e.
# Could crash
_ZmmAtl
_ZmmAtl
#
# demangler/80513 Test for bogus characters after __thunk_