This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

libiberty: Fix java demangle crash


The demangler could crash when doing Java-style demangling if 
cp_demangle() returns a zero-length string, which would happen with some 
input strings, like ".".  This patch fixes it, I'm checking it in to 
mainline and branch as obvious.

regards

Bryce.

2002-03-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* cp-demangle.c (java_demangle_v3): Don't try to release "demangled" 
	if it is NULL.

Index: cp-demangle.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cp-demangle.c,v
retrieving revision 1.40
diff -u -r1.40 cp-demangle.c
--- cp-demangle.c	2002/03/12 20:34:15	1.40
+++ cp-demangle.c	2002/03/30 03:29:32
@@ -3846,7 +3846,11 @@
 
   free (cplus_demangled);
   
-  return_value = dyn_string_release (demangled);
+  if (demangled)
+    return_value = dyn_string_release (demangled);
+  else
+    return_value = NULL;
+
   return return_value;
 }
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]