forked from Imagelibrary/binutils-gdb
Sync libiberty with upstream GCC.
libiberty/ChangeLog: PR demangler/80513 * cp-demangle.c (d_number): Check for overflow. * cplus-dem.c (consume_count): Fix overflow check. (gnu_special): Check for underscore after thunk delta. * testsuite/demangle-expected: Add tests for overflows and invalid characters in thunks. * cp-demangle.c (MAX_RECURSION_COUNT): New constant. (struct d_print_info): Add recursion field. (d_print_init): Initialize recursion. (d_print_comp): Check and update d_print_info recursion depth. * cp-demangle.c (d_substitution): Return NULL if d_add_substitution fails. * cp-demangle.h (struct d_info): Remove did_subs field. * cp-demangle.c (struct d_info_checkpoint): Likewise. (d_template_param): Don't update did_subs. (d_substitution): Likewise. (d_checkpoint): Don't assign did_subs. (d_backtrack): Likewise. (cplus_demangle_init_info): Don't initialize did_subs.
This commit is contained in:
@@ -4720,3 +4720,18 @@ _ZdvMMMMMMMMMMMMMrrrrA_DTdvfp_fp_Eededilfdfdfdfd
|
||||
|
||||
_Z1MA_aMMMMA_MMA_MMMMMMMMSt1MS_o11T0000000000t2M0oooozoooo
|
||||
_Z1MA_aMMMMA_MMA_MMMMMMMMSt1MS_o11T0000000000t2M0oooozoooo
|
||||
|
||||
#
|
||||
# demangler/80513 Test for overflow in d_number
|
||||
_Z4294967297x
|
||||
_Z4294967297x
|
||||
|
||||
#
|
||||
# demangler/80513 Test for bogus characters after __thunk_
|
||||
__thunk_16a_$_1x
|
||||
__thunk_16a_$_1x
|
||||
|
||||
#
|
||||
# demangler/80513 Test for overflow in consume_count
|
||||
__thunk_4294967297__$_1x
|
||||
__thunk_4294967297__$_1x
|
||||
|
||||
Reference in New Issue
Block a user