From cd197d3076f6d8225fb9146c0bfe2e199d277462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= Date: Sat, 22 Jul 2023 02:35:45 +0200 Subject: [PATCH] Correctly handle Read returning (0, nil) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's not an EOF indication. Signed-off-by: Miloslav Trmač --- tar/asm/disassemble.go | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tar/asm/disassemble.go b/tar/asm/disassemble.go index 33cffba..80c2522 100644 --- a/tar/asm/disassemble.go +++ b/tar/asm/disassemble.go @@ -135,16 +135,15 @@ func NewInputTarStream(r io.Reader, p storage.Packer, fp storage.FilePutter) (io } isEOF = true } - if n == 0 { - break - } - _, err = p.AddEntry(storage.Entry{ - Type: storage.SegmentType, - Payload: paddingChunk[:n], - }) - if err != nil { - pW.CloseWithError(err) - return + if n != 0 { + _, err = p.AddEntry(storage.Entry{ + Type: storage.SegmentType, + Payload: paddingChunk[:n], + }) + if err != nil { + pW.CloseWithError(err) + return + } } if isEOF { break