summaryrefslogtreecommitdiff
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
commit455eaf9847ab0bb7a8dc6046be976053020c43bb (patch)
treec455ac0121aa30b0e71b70e0cc95f57c47090407
parent56a047f46a95222b0917e4509af6e1dc533c0b02 (diff)
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 8ecf26b98a3..a5ea452d8d7 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;