From ac1a00f2ebd2d3d0a8fe7437da48a28d55684f9c Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Tue, 29 Jan 2008 16:12:06 +0000 Subject: [PATCH] Bring in fix for Binutils PR other/16240: Check for a failure return from cplus_demangle_type. This is the rev 1.50-1.51 change. Our addr2line, etc.. would crash if used on C++ code that contains certain symbol types. One example is _ZN13PatternDriver23StringScalarDeleteValueC1ERKNS_25ConflateStringScalarValueERKNS_25AbstractStringScalarValueERKNS_12TemplateEnumINS_12pdcomplementELZNS_16complement_namesEELZNS_14COMPLEMENTENUMEEEE --- contrib/binutils/libiberty/cp-demangle.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/binutils/libiberty/cp-demangle.c b/contrib/binutils/libiberty/cp-demangle.c index 19f191ed8b8..bb543fa0c2f 100644 --- a/contrib/binutils/libiberty/cp-demangle.c +++ b/contrib/binutils/libiberty/cp-demangle.c @@ -2396,6 +2396,8 @@ d_expr_primary (di) const char *s; type = cplus_demangle_type (di); + if (type == NULL) + return NULL; /* If we have a type we know how to print, we aren't going to print the type name itself. */