diff --git a/internal/sevenzip/reader.go b/internal/sevenzip/reader.go index 651ac7b..ebd05aa 100644 --- a/internal/sevenzip/reader.go +++ b/internal/sevenzip/reader.go @@ -19,6 +19,7 @@ import ( "bookhoard/internal/sevenzip/internal/pool" "bookhoard/internal/sevenzip/internal/util" + "github.com/bodgit/plumbing" "github.com/spf13/afero" ) @@ -415,6 +416,10 @@ func (z *Reader) init(r io.ReaderAt, size int64) (err error) { return err } + if sr == nil { + return errFormat + } + // Work out where we are in the file (32, avoiding magic numbers) if z.start, err = sr.Seek(0, io.SeekCurrent); err != nil { return fmt.Errorf("sevenzip: error seeking current position: %w", err)