Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
In PQsendQueryStart(), avoid leaking any left-over async result.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Oct 2016 14:35:58 +0000 (10:35 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Oct 2016 14:35:58 +0000 (10:35 -0400)
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>

src/interfaces/libpq/fe-exec.c

index 8ecf26b98a3e9a67c5538565dac13629bbf516f5..a5ea452d8d785393cf4402886e282452b1e8fead 100644 (file)
@@ -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;