[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Segmentation fault in C++ demangle
From: |
Nick Clifton |
Subject: |
Re: Segmentation fault in C++ demangle |
Date: |
10 Jan 2002 14:43:05 +0000 |
Hi DJ,
A recent posting pointed to a bug in libiberty:
http://sources.redhat.com/ml/bug-gnu-utils/2002-01/msg00136.html
This appears to be a simple coding oversight; not allowing for the
fact that some of the strings in from->btypevec[] can be NULL. The
following patch corrects this and allows the test string supplied
with the bug report to pass through cxxfilt with causing a seg
fault.
OK to apply ?
Cheers
Nick
2002-01-10 Nick Clifton <address@hidden>
* cplus-dem.c (work_stuff_copy_to_from): Cope with NULL
entries in from->btypevec[].
Index: libiberty/cplus-dem.c
===================================================================
RCS file: /cvs/src/src/libiberty/cplus-dem.c,v
retrieving revision 1.27
diff -p -c -r1.27 cplus-dem.c
*** cplus-dem.c 2002/01/03 00:25:57 1.27
--- cplus-dem.c 2002/01/10 14:42:06
*************** work_stuff_copy_to_from (to, from)
*** 1200,1209 ****
for (i = 0; i < from->numb; i++)
{
! int len = strlen (from->btypevec[i]) + 1;
! to->btypevec[i] = xmalloc (len);
! memcpy (to->btypevec[i], from->btypevec[i], len);
}
if (from->ntmpl_args)
--- 1200,1214 ----
for (i = 0; i < from->numb; i++)
{
! if (from->btypevec[i])
! {
! int len = strlen (from->btypevec[i]) + 1;
! to->btypevec[i] = xmalloc (len);
! memcpy (to->btypevec[i], from->btypevec[i], len);
! }
! else
! to->btypevec[i] = NULL;
}
if (from->ntmpl_args)