OSDN Git Service

* cp-demangle.h: Add comment explaining what to do to avoid
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Dec 2006 01:29:27 +0000 (01:29 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Dec 2006 01:29:27 +0000 (01:29 +0000)
commitb785de4a32d5e0cfc9052d44bbcb8c48dc1b2946
tree8bbefa55fbcb69174085aaec3d70bd9faf6d986a
parent24ce1b68ca76ec84a101dc16918d62ed4e80c66e
* cp-demangle.h: Add comment explaining what to do to avoid
overrunning string.
(d_check_char): New.
(d_next_char): Don't advance past trailing '\0'.
* cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char.
(d_nested_name): Likewise.
(d_special_name): Likewise.
(d_call_offset): Likewise.
(d_function_type): Likewise.
(d_array_type): Likewise.
(d_pointer_to_member_type): Likewise.
(d_template_param): Likewise.
(d_template_args): Likewise.
(d_template_arg): Likewise.
(d_expr_primary): Likewise.
(d_local_name): Likewise.
(d_substitution): Likewise.
(d_ctor_dtor_name): Use d_advance rather than d_next_char.
* testsuite/test-demangle.c: Include sys/mman.h.
(MAP_ANONYMOUS): Define.
(protect_end): New.
(main): Use protect_end.
* testsuite/demangle-expected: Add testcases for overrunning
the end of the string.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120097 138bc75d-0d04-0410-961f-82ee72b054a4
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/cp-demangle.h
libiberty/testsuite/demangle-expected
libiberty/testsuite/test-demangle.c