public inbox for [email protected]
help / color / mirror / Atom feedFrom: Andres Freund <[email protected]>
To: Fabien COELHO <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: psql - add SHOW_ALL_RESULTS option
Date: Wed, 12 Jan 2022 21:44:33 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2201081931170.731324@pseudo>
References: <[email protected]>
<alpine.DEB.2.22.394.2107221655020.25741@pseudo>
<[email protected]>
<alpine.DEB.2.22.394.2109251058000.3216312@pseudo>
<alpine.DEB.2.22.394.2110021622530.2817726@pseudo>
<[email protected]>
<alpine.DEB.2.22.394.2112230703530.2668598@pseudo>
<[email protected]>
<alpine.DEB.2.22.394.2201040851220.3857182@pseudo>
<alpine.DEB.2.22.394.2201081931170.731324@pseudo>
Hi,
On 2022-01-08 19:32:36 +0100, Fabien COELHO wrote:
> Attached v13 where the crash test is moved to tap.
The reason this test constantly fails on cfbot windows is a use-after-free
bug.
I figured that out in the context of another thread, so the debugging is
there:
https://postgr.es/m/20220113054123.ib4khtafgq34lv4z%40alap3.anarazel.de
> Ah, I see the bug. It's a use-after-free introduced in the patch:
>
> SendQueryAndProcessResults(const char *query, double *pelapsed_msec,
> bool is_watch, const printQueryOpt *opt, FILE *printQueryFout, bool *tx_ended)
>
>
> ...
> /* first result */
> result = PQgetResult(pset.db);
>
>
> while (result != NULL)
>
>
> ...
> if (!AcceptResult(result, false))
> {
> ...
> ClearOrSaveResult(result);
> success = false;
>
>
> /* and switch to next result */
> result_status = PQresultStatus(result);
> if (result_status == PGRES_COPY_BOTH ||
> result_status == PGRES_COPY_OUT ||
> result_status == PGRES_COPY_IN)
>
>
> So we called ClearOrSaveResult() with did a PQclear(), and then we go and call
> PQresultStatus().
Greetings,
Andres Freund
view thread (14+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: psql - add SHOW_ALL_RESULTS option
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox