]> git.ipfire.org Git - thirdparty/gcc.git/commit - libiberty/testsuite/demangle-expected
Fix several crashes of C++ demangler on fuzzed input.
authorMikhail Maltsev <maltsevm@gmail.com>
Mon, 13 Jul 2015 05:49:54 +0000 (05:49 +0000)
committerMikhail Maltsev <miyuki@gcc.gnu.org>
Mon, 13 Jul 2015 05:49:54 +0000 (05:49 +0000)
commit76d96a5a6f6f0b14967c10166b1577c2bc034d13
treeabb02fde610b3ae8f28505f343d0f245d8bab088
parent026c3cfd5e92e7f358290921984b57e1b433e658
Fix several crashes of C++ demangler on fuzzed input.

libiberty/
* cp-demangle.c (d_dump): Fix syntax error.
(d_identifier): Adjust type of len to match d_source_name.
(d_expression_1): Fix out-of-bounds access.  Check code variable for
NULL before dereferencing it.
(d_find_pack): Do not recurse for FIXED_TYPE, DEFAULT_ARG and NUMBER.
(d_print_comp_inner): Add NULL pointer check.
* cp-demangle.h (d_peek_next_char): Define as inline function when
CHECK_DEMANGLER is defined.
(d_advance): Likewise.
* testsuite/demangle-expected: Add new testcases.

From-SVN: r225727
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/cp-demangle.h
libiberty/testsuite/demangle-expected