* gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name
authorPer Bothner <per@bothner.com>
Sun, 20 Jan 2002 00:09:59 +0000 (00:09 +0000)
committerPer Bothner <per@bothner.com>
Sun, 20 Jan 2002 00:09:59 +0000 (00:09 +0000)
isn't NULL, which can happen with some gcj-3.x-produced code.

gdb/ChangeLog
gdb/gnu-v3-abi.c

index 761b577d92af696dd1fd34132e46ebfe63c89759..da3c0845031e1d113210c512c5cb970f834ce895 100644 (file)
@@ -1,3 +1,8 @@
+2002-01-19  Per Bothner  <per@bothner.com>
+
+       * gnu-v3-abi.c (gnuv3_rtti_type):  Guard that vtable_symbol_name
+       isn't NULL, which can happen with some gcj-3.x-produced code.
+
 2002-01-19  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * alpha-tdep.c (alpha_register_virtual_type): New function.
index 93bc9950ee873ec123785b74b638aa2f253fa3f5..a4c79605000cd8bf3a5fd50759ace436af913960 100644 (file)
@@ -239,7 +239,8 @@ gnuv3_rtti_type (struct value *value,
      type_info object itself to get the class name.  But this way
      should work just as well, and doesn't read target memory.  */
   vtable_symbol_name = SYMBOL_DEMANGLED_NAME (vtable_symbol);
-  if (strncmp (vtable_symbol_name, "vtable for ", 11))
+  if (vtable_symbol_name == NULL
+      || strncmp (vtable_symbol_name, "vtable for ", 11))
     error ("can't find linker symbol for virtual table for `%s' value",
            TYPE_NAME (value_type));
   class_name = vtable_symbol_name + 11;