From b819dd7cb55aed1d607cef36b0ecd1a0642872b2 Mon Sep 17 00:00:00 2001
From: Fujii Masao <fujii@postgresql.org>
Date: Sat, 2 Aug 2014 15:18:09 +0900
Subject: [PATCH] Add missing PQclear() calls into pg_receivexlog.

Back-patch to 9.3.
---
 src/bin/pg_basebackup/receivelog.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 99d875be9c5..a260881517d 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -628,6 +628,7 @@ ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 				fprintf(stderr,
 				   _("%s: unexpected termination of replication stream: %s"),
 						progname, PQresultErrorMessage(res));
+				PQclear(res);
 				goto error;
 			}
 			PQclear(res);
@@ -642,6 +643,8 @@ ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 		}
 		else if (PQresultStatus(res) == PGRES_COMMAND_OK)
 		{
+			PQclear(res);
+
 			/*
 			 * End of replication (ie. controlled shut down of the server).
 			 *
@@ -663,6 +666,7 @@ ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 			fprintf(stderr,
 					_("%s: unexpected termination of replication stream: %s"),
 					progname, PQresultErrorMessage(res));
+			PQclear(res);
 			goto error;
 		}
 	}
@@ -839,6 +843,7 @@ HandleCopyStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 						PQclear(res);
 						goto error;
 					}
+					PQclear(res);
 					res = PQgetResult(conn);
 				}
 				still_sending = false;
-- 
GitLab