From 8e41c621a625f154e96f40ce688a036520cb59aa Mon Sep 17 00:00:00 2001
From: Magnus Hagander <magnus@hagander.net>
Date: Mon, 11 Nov 2013 14:59:55 +0100
Subject: [PATCH] Don't abort pg_basebackup when receiving empty WAL block

This is a similar fix as c6ec8793aa59d1842082e14b4b4aae7d4bd883fd
9.2. This should never happen in 9.3 and newer since the special case
cannot happen there, but this patch synchronizes up the code so there
is no confusion on why they're different. An empty block is as harmless
in 9.3 as it was in 9.2, and can safely be ignored.
---
 src/bin/pg_basebackup/receivelog.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 02643eaea9..aca1a9e8b1 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -989,7 +989,7 @@ HandleCopyStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 			hdr_len += 8;		/* dataStart */
 			hdr_len += 8;		/* walEnd */
 			hdr_len += 8;		/* sendTime */
-			if (r < hdr_len + 1)
+			if (r < hdr_len)
 			{
 				fprintf(stderr, _("%s: streaming header too small: %d\n"),
 						progname, r);
-- 
2.50.0