This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

Re: [RFA] stabsread.c (define_symbol): Guard against bad stabstring input.


Pedro Alves wrote:
On Saturday 05 March 2011 00:42:59, Pedro Alves wrote:
On Saturday 05 March 2011 00:37:25, Michael Snyder wrote:
I think I heard someone say that gdb should be proof against all inputs?
Yes, but bad inputs aren't gdb bugs, so those should be errors
or warnings, not internal_errors.

for completeness: ... or "complaints", of which the symbol readers are the biggest users, exactly to complain about bad input debug info. complaints have the nice property that they warn once, and go quiet the next time the problem appears --- when we see a malformed debug info problem, we tend to see a lot of instances of the same in the same run, so that feature prevents terminal flooding with a bunch of duplicated warnings.


Thanks. How about this?



2011-03-04  Michael Snyder  <msnyder@vmware.com>

	* stabsread.c (define_symbol): Guard against bad stabstring input.

Index: stabsread.c
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.c,v
retrieving revision 1.136
diff -u -p -r1.136 stabsread.c
--- stabsread.c	28 Feb 2011 23:32:27 -0000	1.136
+++ stabsread.c	11 Mar 2011 21:11:44 -0000
@@ -636,6 +636,12 @@ define_symbol (CORE_ADDR valu, char *str
     {
       p += 2;
       p = strchr (p, ':');
+      if (p == NULL)
+	{
+	  complaint (&symfile_complaints, 
+		     _("Bad stabs string '%s'"), string);
+	  return NULL;
+	}
     }
 
   /* If a nameless stab entry, all we need is the type, not the symbol.

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