From: Simon Marchi <simark@simark.ca>
To: Kamil Rytarowski <n54@gmx.com>, gdb-patches@sourceware.org
Cc: tom@tromey.com
Subject: Re: [PATCH v2 08/10] Avoid double free in startup_inferior
Date: Mon, 7 Sep 2020 15:19:43 -0400 [thread overview]
Message-ID: <96629e3b-c2d5-f705-f469-f5e527aab2a2@simark.ca> (raw)
In-Reply-To: <20200904002905.13616-9-n54@gmx.com>
On 2020-09-03 8:29 p.m., Kamil Rytarowski wrote:
> Do not free the last execd pathname as it will be used in
> prepare_resume_reply(), after attaching a client side.
Ok, so this function returns to its caller the last waitstatus. So indeed we
want to clean up all the watstatus objects except the last one, which we hand
over to the caller.
> gdb/ChangeLog:
>
> * fork-inferior.c (startup_inferior): Avoid double free.
> ---
> gdb/ChangeLog | 4 ++++
> gdb/nat/fork-inferior.c | 5 ++++-
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index b96e7bf08e8..1013f6a0b3c 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,7 @@
> +2020-09-04 Kamil Rytarowski <n54@gmx.com>
> +
> + * fork-inferior.c (startup_inferior): Avoid double free.
> +
> 2020-09-04 Kamil Rytarowski <n54@gmx.com>
>
> * netbsd-nat.h (netbsd_nat::qxfer_siginfo): Add.
> diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c
> index 1185ef8998b..94ab0b9cbc2 100644
> --- a/gdb/nat/fork-inferior.c
> +++ b/gdb/nat/fork-inferior.c
> @@ -526,7 +526,10 @@ startup_inferior (process_stratum_target *proc_target, pid_t pid, int ntraps,
>
> case TARGET_WAITKIND_EXECD:
> /* Handle EXEC signals as if they were SIGTRAP signals. */
> - xfree (ws.value.execd_pathname);
> + /* Do not free the last execd pathname as it will be used in
> + prepare_resume_reply(), after attaching a client side. */
Since this is common code, let's just write it in a gdbserver or gdb agnostic way.
I'd suggest something like: Free the exec'ed pathname, but only if this isn't the
waitstatus we are returning to the caller.
Simon
next prev parent reply other threads:[~2020-09-07 19:19 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-04 0:28 [PATCH v2 00/10] Add minimal NetBSD/amd64 gdbserver support Kamil Rytarowski
2020-09-04 0:28 ` [PATCH v2 01/10] Add handle_eintr to wrap EINTR handling in syscalls Kamil Rytarowski
2020-09-07 14:06 ` Simon Marchi
2020-09-07 14:59 ` Kamil Rytarowski
2020-10-12 17:56 ` [PATCH] gdb::handle_eintr, remove need to specify return type (Re: [PATCH v2 01/10] Add handle_eintr to wrap EINTR handling in syscalls) Pedro Alves
2020-10-13 13:43 ` Kamil Rytarowski
2020-10-13 14:17 ` [PATCH v2] gdb::handle_eintr, remove need to specify return type Pedro Alves
2020-10-13 14:54 ` Kamil Rytarowski
2020-10-16 20:51 ` Tom Tromey
2020-10-26 14:00 ` Pedro Alves
2020-10-26 14:20 ` Tom Tromey
2020-10-26 18:59 ` Pedro Alves
2020-09-04 0:28 ` [PATCH v2 02/10] Register a placeholder for NetBSD shared functions in gdb/nat Kamil Rytarowski
2020-09-07 18:44 ` Simon Marchi
2020-09-07 19:49 ` Kamil Rytarowski
2020-09-04 0:28 ` [PATCH v2 03/10] Build nat/netbsd-nat.o for the NetBSD native target Kamil Rytarowski
2020-09-04 0:28 ` [PATCH v2 04/10] Add netbsd_nat::pid_to_exec_file Kamil Rytarowski
2020-09-07 7:57 ` Andrew Burgess
2020-09-07 13:36 ` Kamil Rytarowski
2020-09-07 18:48 ` Simon Marchi
2020-09-07 18:47 ` Simon Marchi
2020-09-07 19:51 ` Kamil Rytarowski
2020-09-04 0:29 ` [PATCH v2 05/10] Add gdb/nat common functions for listing threads Kamil Rytarowski
2020-09-07 18:59 ` Simon Marchi
2020-09-07 19:57 ` Kamil Rytarowski
2020-09-04 0:29 ` [PATCH v2 06/10] Add netbsd_nat::enable_proc_events in gdb/nat Kamil Rytarowski
2020-09-04 0:29 ` [PATCH v2 07/10] Add a common utility function to read and write siginfo_t in inferior Kamil Rytarowski
2020-09-04 0:29 ` [PATCH v2 08/10] Avoid double free in startup_inferior Kamil Rytarowski
2020-09-07 19:19 ` Simon Marchi [this message]
2020-09-08 0:54 ` Kamil Rytarowski
2020-09-08 2:21 ` Simon Marchi
2020-09-04 0:29 ` [PATCH v2 09/10] Switch local native code to gdb/nat shared functions Kamil Rytarowski
2020-09-07 19:24 ` Simon Marchi
2020-09-08 0:04 ` Kamil Rytarowski
2020-09-04 0:29 ` [PATCH v2 10/10] Add minimal and functional NetBSD/amd64 gdbserver Kamil Rytarowski
2020-09-07 19:58 ` Simon Marchi
2020-09-08 0:03 ` Kamil Rytarowski
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=96629e3b-c2d5-f705-f469-f5e527aab2a2@simark.ca \
--to=simark@simark.ca \
--cc=gdb-patches@sourceware.org \
--cc=n54@gmx.com \
--cc=tom@tromey.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