From: Simon Marchi <simark@simark.ca>
To: Eli Zaretskii <eliz@gnu.org>, Pedro Alves <palves@redhat.com>
Cc: tromey@adacore.com, gdb-patches@sourceware.org
Subject: Re: Fix pressing down in the TUI (Re: [RFC 8.3 0/3] Some style fixes)
Date: Mon, 25 Mar 2019 01:36:00 -0000 [thread overview]
Message-ID: <8735852e-30bc-e5c8-de20-e0511eee8132@simark.ca> (raw)
In-Reply-To: <9f2b679b-44e6-0228-339b-690971887214@simark.ca>
On 2019-03-24 11:35 a.m., Simon Marchi wrote:
> Hi all,
>
> I get an AddressSanitizer failure, and bisecting points to this commit.
>
> I simply "start" an executable, and there is a use-after-free happening when
> trying to print the stop location. See the dump below.
I investigated quickly, here's what I found. We first get the symtab's fullname
with
const char *fullname = symtab_to_fullname (s);
fullname essentially is the same as s->fullname.
The call to open_source_file that was added by this patch deallocates s->fullname
and replaces it with a new value (if though it may be an identical string). When
we pass fullname (the local variable) to ighlighter.highlight, it still points to
now free'd memory.
The obvious patch would be to fetch fullname again after calling open_source_file,
like so:
diff --git a/gdb/source-cache.c b/gdb/source-cache.c
index 9211f098eb70..ac97d79cdb31 100644
--- a/gdb/source-cache.c
+++ b/gdb/source-cache.c
@@ -206,6 +206,8 @@ source_cache::get_source_lines (struct symtab *s, int first_line,
if (desc.get () < 0)
return false;
find_source_lines (s, desc.get ());
+
+ fullname = symtab_to_fullname (s);
}
srchilite::SourceHighlight highlighter ("esc.outlang");
highlighter.setStyleFile("esc.style");
... but maybe there's a better way? Should we instead create a local copy of FULLNAME?
Simon
next prev parent reply other threads:[~2019-03-25 1:36 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-08 21:04 [RFC 8.3 0/3] Some style fixes Tom Tromey
2019-03-08 21:04 ` [RFC 8.3 2/3] Add the "set style source" command Tom Tromey
2019-03-09 6:17 ` Eli Zaretskii
2019-03-11 20:13 ` Tom Tromey
2019-03-09 11:18 ` Philippe Waroquiers
2019-03-11 20:13 ` Tom Tromey
2019-03-11 20:25 ` Eli Zaretskii
2019-03-08 21:04 ` [RFC 8.3 3/3] Avoid a crash in source_cache::extract_lines Tom Tromey
2019-03-13 17:07 ` Pedro Alves
2019-03-13 17:20 ` Tom Tromey
2019-03-13 18:06 ` Pedro Alves
2019-03-14 11:37 ` Tom Tromey
2019-03-08 21:04 ` [RFC 8.3 1/3] Make TUI react to "set style enabled" Tom Tromey
2019-03-13 19:28 ` Pedro Alves
2019-03-14 11:43 ` Tom Tromey
2019-03-09 6:17 ` [RFC 8.3 0/3] Some style fixes Eli Zaretskii
2019-03-10 13:14 ` Eli Zaretskii
2019-03-11 20:15 ` Tom Tromey
2019-03-12 16:44 ` Eli Zaretskii
2019-03-13 15:50 ` Eli Zaretskii
2019-03-14 12:21 ` Tom Tromey
2019-03-14 14:40 ` Pedro Alves
2019-03-14 15:36 ` Eli Zaretskii
2019-03-15 12:34 ` Fix pressing down in the TUI (Re: [RFC 8.3 0/3] Some style fixes) Pedro Alves
2019-03-15 13:37 ` Eli Zaretskii
2019-03-15 13:56 ` Pedro Alves
2019-03-16 17:59 ` Eli Zaretskii
2019-03-24 15:35 ` Simon Marchi
2019-03-25 1:36 ` Simon Marchi [this message]
2019-03-25 15:14 ` Tom Tromey
2019-03-26 0:52 ` Simon Marchi
2019-03-15 15:33 ` Tom Tromey
2019-03-15 12:43 ` Avoid overwriting the TUI source window frame " Pedro Alves
2019-03-16 12:17 ` Eli Zaretskii
2019-03-15 14:15 ` [PATCH v2] Fix first time you type UP or DOWN in TUI's command window " Pedro Alves
2019-03-15 15:38 ` Eli Zaretskii
2019-03-18 20:24 ` Pedro Alves
2019-03-19 6:09 ` Eli Zaretskii
2019-03-19 18:14 ` Pedro Alves
2019-03-09 14:28 ` [RFC 8.3 0/3] Some style fixes Hannes Domani via gdb-patches
2019-03-12 16:48 ` Tom Tromey
2019-03-12 17:09 ` Hannes Domani via gdb-patches
2019-03-13 15:44 ` Eli Zaretskii
2019-03-14 20:25 ` "next" into line longer than the source window-width (Re: [RFC 8.3 0/3] Some style fixes) Pedro Alves
2019-03-17 16:05 ` Eli Zaretskii
2019-03-14 20:58 ` [PATCH] Fix scrolling right in the TUI " Pedro Alves
2019-03-15 12:34 ` Hannes Domani via gdb-patches
2019-03-15 21:51 ` Tom Tromey
2019-03-18 14:41 ` Pedro Alves
2019-03-17 16:06 ` Eli Zaretskii
2019-03-12 17:29 ` [RFC 8.3 0/3] Some style fixes Eli Zaretskii
2019-03-12 17:29 ` Eli Zaretskii
2019-03-12 17:32 ` Eli Zaretskii
2019-03-26 20:52 ` Pedro Franco de Carvalho
2019-03-14 11:44 ` Tom Tromey
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=8735852e-30bc-e5c8-de20-e0511eee8132@simark.ca \
--to=simark@simark.ca \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=tromey@adacore.com \
/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