postgres.git / summary / log / commit / refs
commit 329de9fa983debc941ebd79f335f2574b72a3694
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Mon May 05 13:20:12 2014 +0000
Don't leak memory after connection aborts in pg_recvlogical.
Andres Freund, noticed by coverity.
src/bin/pg_basebackup/pg_recvlogical.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/bin/pg_basebackup/pg_recvlogical.c b/src/bin/pg_basebackup/pg_recvlogical.c
index 8141ba31f9d..fe902cf9691 100644
--- a/src/bin/pg_basebackup/pg_recvlogical.c
+++ b/src/bin/pg_basebackup/pg_recvlogical.c
@@ -547,9 +547,6 @@ StreamLog(void)
}
PQclear(res);
- if (copybuf != NULL)
- PQfreemem(copybuf);
-
if (outfd != -1 && strcmp(outfile, "-") != 0)
{
int64 t = feGetCurrentTimestamp();
@@ -563,6 +560,11 @@ StreamLog(void)
}
outfd = -1;
error:
+ if (copybuf != NULL)
+ {
+ PQfreemem(copybuf);
+ copybuf = NULL;
+ }
destroyPQExpBuffer(query);
PQfinish(conn);
conn = NULL;
[parent: c83457683968]