From 55d5ff825fae0ee9a1114a17fcd97a3e360a23b0 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Tue, 6 May 2014 10:00:57 -0400
Subject: [PATCH] Fix detection of short tar files, broken by commit
 14ea89366fe321609afc5838ff9fe2ded1cd707d

Report by Noah Misch
---
 src/bin/pg_dump/pg_backup_archiver.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index adf91e1697c..2fa21193f51 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -2034,10 +2034,13 @@ _discoverArchiveFormat(ArchiveHandle *AH)
 			exit_horribly(modulename, "input file appears to be a text format dump. Please use psql.\n");
 		}
 
-		if (AH->lookaheadLen != 512 && feof(fh))
-			exit_horribly(modulename, "input file does not appear to be a valid archive (too short?)\n");
-		else
-			READ_ERROR_EXIT(fh);
+		if (AH->lookaheadLen != 512)
+		{
+			if (feof(fh))
+				exit_horribly(modulename, "input file does not appear to be a valid archive (too short?)\n");
+			else
+				READ_ERROR_EXIT(fh);
+		}
 
 		if (!isValidTarHeader(AH->lookahead))
 			exit_horribly(modulename, "input file does not appear to be a valid archive\n");
-- 
GitLab