From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: In psql, avoid leaking a PGresult after a query is cancelled. |
Date: | 2024-04-08 21:00:16 |
Message-ID: | E1rtw6C-001Bod-9H@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
In psql, avoid leaking a PGresult after a query is cancelled.
After a query cancel, the tail end of ExecQueryAndProcessResults
took care to clear any not-yet-read PGresults; but it forgot about
the one it has already read. There would only be such a result
when handling a multi-command string made with "\;", so that you'd
have to cancel an earlier command in such a string to reach the
bug at all. Even then, there would only be leakage of a single
PGresult per cancel, so it's not surprising nobody noticed this.
But a leak is a leak.
Noted while re-reviewing 90f517821, but this is independent of that:
it dates to 7844c9918. Back-patch to v15 where that came in.
Branch
------
REL_15_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/4f1d33d707fbdf38296ed8b262ae1ea3dcde2b18
Modified Files
--------------
src/bin/psql/common.c | 2 ++
1 file changed, 2 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2024-04-09 01:31:52 | pgsql: injection_points: Fix race condition with local injection point |
Previous Message | Tom Lane | 2024-04-08 19:49:17 | pgsql: Further review for re-implementation of psql's FETCH_COUNT featu |