diff --git a/streaming/in.go b/streaming/in.go index 474829a..0ecb29e 100644 --- a/streaming/in.go +++ b/streaming/in.go @@ -373,6 +373,8 @@ func (c *crypt4GHInternalReader) fillBuffer() error { // reader should be positioned before the needed segment now read, err := io.ReadFull(c.reader, encryptedSegmentBytes) + c.sourcePos += int64(read) + if err != nil && err != io.ErrUnexpectedEOF { return err } @@ -391,7 +393,6 @@ func (c *crypt4GHInternalReader) fillBuffer() error { return err } c.lastDecryptedSegment = neededSegment - c.sourcePos += int64(read) // Keep track of how much data is directly available