[Bug other/89394] libiberty :stack overflow in nm
nickc at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 10 14:45:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89394
--- Comment #7 from Nick Clifton <nickc at gcc dot gnu.org> ---
Author: nickc
Date: Wed Apr 10 14:44:47 2019
New Revision: 270258
URL: https://gcc.gnu.org/viewcvs?rev=270258&root=gcc&view=rev
Log:
Fix a stack exhaustion bug in libiberty's demangler when decoding a
pathalogically constructed mangled name.
PR 89394
* cp-demangle.c (cplus_demangle_fill_name): Reject negative
lengths.
(d_count_templates_scopes): Replace num_templates and num_scopes
parameters with a struct d_print_info pointer parameter. Adjust
body of the function accordingly. Add recursion counter and check
that the recursion limit is not reached.
(d_print_init): Pass dpi parameter to d_count_templates_scopes.
Reset recursion counter afterwards, unless the recursion limit was
reached.
Modified:
trunk/libiberty/ChangeLog
trunk/libiberty/cp-demangle.c
More information about the Gcc-bugs
mailing list