Skip to content

Commit

Permalink
* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
Browse files Browse the repository at this point in the history
	btypevec/ktypevec.
	* testsuite/demangle-expected: Add coverage tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234645 138bc75d-0d04-0410-961f-82ee72b054a4
  • Loading branch information
law committed Mar 31, 2016
1 parent f58ea96 commit be3004d
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
7 changes: 7 additions & 0 deletions libiberty/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2016-03-31 Mikhail Maltsev <maltsevm@gmail.com>
Marcel Bohme boehme.marcel@gmail.com

* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
btypevec/ktypevec.
* testsuite/demangle-expected: Add coverage tests.

2016-01-27 Iain Buclaw <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_call_convention): Handle extern Objective-C
Expand Down
2 changes: 2 additions & 0 deletions libiberty/cplus-dem.c
Original file line number Diff line number Diff line change
Expand Up @@ -1237,11 +1237,13 @@ squangle_mop_up (struct work_stuff *work)
{
free ((char *) work -> btypevec);
work->btypevec = NULL;
work->bsize = 0;
}
if (work -> ktypevec != NULL)
{
free ((char *) work -> ktypevec);
work->ktypevec = NULL;
work->ksize = 0;
}
}

Expand Down
10 changes: 10 additions & 0 deletions libiberty/testsuite/demangle-expected
Original file line number Diff line number Diff line change
Expand Up @@ -4421,3 +4421,13 @@ void baz<int>(A<sizeof (foo((int)(), (floatcomplex )00000000_00000000))>*)
--format=gnu-v3
_Z3fooI1FEN1XIXszdtcl1PclcvT__EEE5arrayEE4TypeEv
X<sizeof ((P(((F)())())).array)>::Type foo<F>()
#
# Tests a use-after-free problem

_Q.__0
::Q.(void)
#
# Tests a use-after-free problem

_Q10-__9cafebabe.
cafebabe.::-(void)

0 comments on commit be3004d

Please sign in to comment.