Commit 79b754d4 by Ian Lance Taylor

cp-demangle.c (cplus_demangle_type): Check for invalid type after "DF".

	* cp-demangle.c (cplus_demangle_type): Check for invalid type
	after "DF".
	* testsuite/demangle-expected: Add test.

From-SVN: r156226
parent 77f02d09
2010-01-25 Ian Lance Taylor <iant@google.com>
* cp-demangle.c (cplus_demangle_type): Check for invalid type
after "DF".
* testsuite/demangle-expected: Add test.
2010-01-20 Jason Merrill <jason@redhat.com> 2010-01-20 Jason Merrill <jason@redhat.com>
PR c++/42338 PR c++/42338
...@@ -294,7 +300,7 @@ ...@@ -294,7 +300,7 @@
with other than 1 operand. with other than 1 operand.
(d_print_comp): Handle function parameters. Fix bug with (d_print_comp): Handle function parameters. Fix bug with
function used in type of function. function used in type of function.
* testsuite/demangle-expected: Upate tests. * testsuite/demangle-expected: Update tests.
2009-02-21 Mark Mitchell <mark@codesourcery.com> 2009-02-21 Mark Mitchell <mark@codesourcery.com>
......
/* Demangler for g++ V3 ABI. /* Demangler for g++ V3 ABI.
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@wasabisystems.com>. Written by Ian Lance Taylor <ian@wasabisystems.com>.
...@@ -2193,6 +2193,8 @@ cplus_demangle_type (struct d_info *di) ...@@ -2193,6 +2193,8 @@ cplus_demangle_type (struct d_info *di)
/* For demangling we don't care about the bits. */ /* For demangling we don't care about the bits. */
d_number (di); d_number (di);
ret->u.s_fixed.length = cplus_demangle_type (di); ret->u.s_fixed.length = cplus_demangle_type (di);
if (ret->u.s_fixed.length == NULL)
return NULL;
d_number (di); d_number (di);
peek = d_next_char (di); peek = d_next_char (di);
ret->u.s_fixed.sat = (peek == 's'); ret->u.s_fixed.sat = (peek == 's');
......
...@@ -4019,5 +4019,8 @@ prot.lock.update ...@@ -4019,5 +4019,8 @@ prot.lock.update
--format=gnat --format=gnat
prot__lock__update_E6s prot__lock__update_E6s
prot.lock.update prot.lock.update
#
# Used to crash the demangler.
--format=gnu-v3
DFA
DFA
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment