Thu May 21 13:14:25 1998 John Metzler <jmetzler@cygnus.com>
[deliverable/binutils-gdb.git] / gdb / ch-valprint.c
index 796172fb1733f8c85442d77a069709b442072445..911c693f3c0e8ca5163fe2e3089076949aa66685 100644 (file)
@@ -422,11 +422,15 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
          switch (TYPE_CODE (inner))
            {
            case TYPE_CODE_STRING:
-             if (length > TYPE_LENGTH (type))
+             if (length > TYPE_LENGTH (type) - 2)
                {
                  fprintf_filtered (stream,
-                                   "<dynamic length %ld > static length %d>",
+                                   "<dynamic length %ld > static length %d> *invalid*",
                                    length, TYPE_LENGTH (type));
+
+                 /* Don't print the string; doing so might produce a
+                    segfault.  */
+                 return length;
                }
              LA_PRINT_STRING (stream, data_addr, length, 0);
              return length;
This page took 0.02308 seconds and 4 git commands to generate.