From: "taylor, david" <david.taylor@emc.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: RE: [PATCH] symtab.c -- Fix off by one allocation bug
Date: Thu, 16 Jun 2016 16:26:00 -0000 [thread overview]
Message-ID: <63F1AEE13FAE864586D589C671A6E18B062D30@MX203CL03.corp.emc.com> (raw)
In-Reply-To: <20160613182324.GB3910@adacore.com>
> From: Joel Brobecker [mailto:brobecker@adacore.com]
> Sent: Monday, June 13, 2016 2:23 PM
> To: taylor, david
> Cc: gdb-patches@sourceware.org
> Subject: Re: [PATCH] symtab.c -- Fix off by one allocation bug
>
> > This fixes a problem found by valgrind. Applying this patch caused no
> > regressions on GNU/Linux x86-64 and satisfied valgrind.
> >
> > * gdb/symtab.c (symbol_set_names): Fix off by one error in
> > allocation.
>
> Thanks for the patch.
>
> Can you give a little more detail as to why we need that extra byte, and
> provide that information in the revision log. This kind of information is always
> very precious when doing archelogy.
>
> Thanks!
Sadly, probably not.
This bug was found awhile ago and at the time we were using STAB
debugging format. We have since switched to DWARF. I was having
problems finding the source of a problem we were having and threw
valgrind at it. I ultimately found the other problem via other methods,
but valgrind found this problem. I remember staring at the code long
enough to convince myself that valgrind was correct. And after increasing
it, valgrind was happy.
> > ---
> > gdb/ChangeLog | 4 ++++
> > gdb/symtab.c | 2 +-
> > 2 files changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c09269..aaeeb6e
> > 100644
> > --- a/gdb/ChangeLog
> > +++ b/gdb/ChangeLog
> > @@ -1,3 +1,7 @@
> > +2016-06-09 David Taylor <dtaylor@emc.com>
> > +
> > + * symtab.c (symbol_set_names): Fix off by one error in allocation.
> > +
> > 2016-06-07 Simon Marchi <simon.marchi@ericsson.com>
> >
> > * mi/mi-interp.c (mi_record_changed): Add missing braces.
> > diff --git a/gdb/symtab.c b/gdb/symtab.c index f7a207a..12e1cf5 100644
> > --- a/gdb/symtab.c
> > +++ b/gdb/symtab.c
> > @@ -1010,7 +1010,7 @@ symbol_set_names (struct general_symbol_info
> *gsymbol,
> > = ((struct demangled_name_entry *)
> > obstack_alloc (&per_bfd->storage_obstack,
> > offsetof (struct demangled_name_entry,
> demangled)
> > - + lookup_len + demangled_len + 2));
> > + + lookup_len + demangled_len + 3));
> > mangled_ptr = &((*slot)->demangled[demangled_len + 1]);
> > strcpy (mangled_ptr, lookup_name);
> > (*slot)->mangled = mangled_ptr;
> > --
> > 1.9.1
>
> --
> Joel
prev parent reply other threads:[~2016-06-16 16:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 17:58 David Taylor
2016-06-13 18:23 ` Joel Brobecker
2016-06-16 16:26 ` taylor, david [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=63F1AEE13FAE864586D589C671A6E18B062D30@MX203CL03.corp.emc.com \
--to=david.taylor@emc.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox