aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-10-10 10:35:58 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-10-10 10:35:58 -0400
commiteb6bc03bfb43a11e15c2e24d9f6069add284f930 (patch)
treec2add43b07e0a7f375f3472c5494f9fdc615dbfa
parent12230c47855f67d1288c058d8d0a5f8e1febe366 (diff)
downloadpostgresql-eb6bc03bfb43a11e15c2e24d9f6069add284f930.tar.gz
postgresql-eb6bc03bfb43a11e15c2e24d9f6069add284f930.zip
In PQsendQueryStart(), avoid leaking any left-over async result.
Ordinarily there would not be an async result sitting around at this point, but it appears that in corner cases there can be. Considering all the work we're about to launch, it's hardly going to cost anything noticeable to check. It's been like this forever, so back-patch to all supported branches. Report: <CAD-Qf1eLUtBOTPXyFQGW-4eEsop31tVVdZPu4kL9pbQ6tJPO8g@mail.gmail.com>
-rw-r--r--src/interfaces/libpq/fe-exec.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c
index 7429e9bfbeb..185fe2b77d8 100644
--- a/src/interfaces/libpq/fe-exec.c
+++ b/src/interfaces/libpq/fe-exec.c
@@ -1383,8 +1383,7 @@ PQsendQueryStart(PGconn *conn)
}
/* initialize async result-accumulation state */
- conn->result = NULL;
- conn->next_result = NULL;
+ pqClearAsyncResult(conn);
/* reset single-row processing mode */
conn->singleRowMode = false;