[Bug demangler/67264] Infinite recursion of demangler on fuzzed input
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67264 Bug 67264 depends on bug 70909, which changed state. Bug 70909 Summary: Libiberty Demangler segfaults (4) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70909 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED
[Bug demangler/67264] Infinite recursion of demangler on fuzzed input
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67264 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||trippels at gcc dot gnu.org Resolution|--- |FIXED --- Comment #5 from Markus Trippelsdorf --- Fixed.
[Bug demangler/67264] Infinite recursion of demangler on fuzzed input
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67264 --- Comment #4 from Markus Trippelsdorf --- Author: trippels Date: Wed Mar 8 14:28:38 2017 New Revision: 245978 URL: https://gcc.gnu.org/viewcvs?rev=245978=gcc=rev Log: Fix PR demangler/70909 and 67264 (endless demangler recursion) ChangeLog: PR demangler/70909 PR demangler/67264 * include/demangle.h: Add d_printing to struct demangle_component and pass struct demangle_component as non const. libiberty/ChangeLog: PR demangler/70909 PR demangler/67264 * cp-demangle.c: Fix endless recursion. Pass struct demangle_component as non const. (d_make_empty): Initialize variable. (d_print_comp_inner): Limit recursion. (d_print_comp): Decrement variable. * cp-demint.c (cplus_demangle_fill_component): Initialize variable. (cplus_demangle_fill_builtin_type): Likewise. (cplus_demangle_fill_operator): Likewise. * testsuite/demangle-expected: Add tests. Modified: trunk/ChangeLog trunk/include/demangle.h trunk/libiberty/ChangeLog trunk/libiberty/cp-demangle.c trunk/libiberty/cp-demint.c trunk/libiberty/testsuite/demangle-expected