gcc/include
Nick Clifton e96d1d8c78 Add a recursion limit to libiberty's demangling code. The limit is enabled by default, but can be disabled via a new demangling option.
include	* demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
        (DEMANGLE_RECURSION_LIMIT): Define

	PR 87681
	PR 87675
	PR 87636
	PR 87350
	PR 87335
libiberty * cp-demangle.h (struct d_info): Add recursion_level field.
	* cp-demangle.c (d_function_type): Add recursion counter.
	If the recursion limit is reached and the check is not disabled,
	then return with a failure result.
	(cplus_demangle_init_info): Initialise the recursion_level field.
        (d_demangle_callback): If the recursion limit is enabled, check
	for a mangled string that is so long that there is not enough
	stack space for the local arrays.
        * cplus-dem.c (struct work): Add recursion_level field.
	(squangle_mop_up): Set the numb and numk fields to zero.
	(work_stuff_copy_to_from): Handle the case where a btypevec or 
	ktypevec field is NULL.
	(demangle_nested_args): Add recursion counter.  If
	the recursion limit is not disabled and reached, return with a
	failure result.

From-SVN: r266886
2018-12-07 10:33:30 +00:00
..
gdb
ansidecl.h ansidecl.h (ATTRIBUTE_NONSTRING): Define. 2018-05-02 19:21:45 +09:30
ChangeLog Add a recursion limit to libiberty's demangling code. The limit is enabled by default, but can be disabled via a new demangling option. 2018-12-07 10:33:30 +00:00
ChangeLog-9103
ChangeLog.jit
COPYING
COPYING3
demangle.h Add a recursion limit to libiberty's demangling code. The limit is enabled by default, but can be disabled via a new demangling option. 2018-12-07 10:33:30 +00:00
dwarf2.def * dwarf2.def (DW_FORM_strx*, DW_FORM_addrx*): New. 2018-05-24 16:03:06 -06:00
dwarf2.h [LVU] Introduce location views 2018-02-09 02:21:57 +00:00
dyn-string.h
environ.h
fibheap.h
filenames.h
floatformat.h
fnmatch.h
gcc-c-fe.def
gcc-c-interface.h
gcc-cp-fe.def
gcc-cp-interface.h
gcc-interface.h
getopt.h
gomp-constants.h builtin-types.def (BT_FN_VOID_BOOL, [...]): New. 2018-11-08 18:13:04 +01:00
hashtab.h
hsa.h
leb128.h
libiberty.h Add linker_output as prefix for LTO temps (PR lto/86548). 2018-07-26 12:13:14 +00:00
longlong.h
lto-symtab.h
md5.h
objalloc.h
obstack.h
partition.h
plugin-api.h Plugin API to get the list of wrap symbols. 2018-05-02 00:53:48 +00:00
safe-ctype.h
sha1.h
simple-object.h simple-object.h (simple_object_copy_lto_debug_sections): Add rename parameter. 2018-05-30 19:57:50 +02:00
sort.h
splay-tree.h splay-tree.h (splay_tree_compare_strings, [...]): Declare new utility functions. 2018-05-28 18:21:23 +00:00
symcat.h
timeval-utils.h
unique-ptr.h C++: simplify output from suggest_alternatives_for 2018-10-29 23:53:50 +00:00
vtv-change-permission.h
xregex2.h
xregex.h
xtensa-config.h