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