Reset error message at PQreset()
authorHeikki Linnakangas
Wed, 29 Oct 2014 12:32:01 +0000 (14:32 +0200)
committerHeikki Linnakangas
Wed, 29 Oct 2014 12:40:47 +0000 (14:40 +0200)
If you call PQreset() repeatedly, and the connection cannot be
re-established, the error messages from the failed connection attempts
kept accumulating in the error string.

Fixes bug #11455 reported by Caleb Epstein. Backpatch to all supported
versions.

src/interfaces/libpq/fe-connect.c

index e4efe430ea9bffaa2054345fe9f64b885c7c3545..a81db3229c9e659ccd164e9132c7e5051cea0cb7 100644 (file)
@@ -2909,6 +2909,7 @@ closePGconn(PGconn *conn)
                                         * absent */
    conn->asyncStatus = PGASYNC_IDLE;
    pqClearAsyncResult(conn);   /* deallocate result */
+   resetPQExpBuffer(&conn->errorMessage);
    pg_freeaddrinfo_all(conn->addrlist_family, conn->addrlist);
    conn->addrlist = NULL;
    conn->addr_cur = NULL;