diff --git a/internal/bsr/internal/checksum/checksum.go b/internal/bsr/internal/checksum/checksum.go index 6ae663957..ca69d48f0 100644 --- a/internal/bsr/internal/checksum/checksum.go +++ b/internal/bsr/internal/checksum/checksum.go @@ -90,6 +90,12 @@ func (f *File) Close() error { var closeErrors *multierror.Error + s, err := f.Stat() + if err != nil { + closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) + return closeErrors.ErrorOrNil() + } + // f.Sha256SumWriter will close f.underlying if err := f.Sha256SumWriter.Close(); err != nil { closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) @@ -101,12 +107,6 @@ func (f *File) Close() error { return closeErrors.ErrorOrNil() } - s, err := f.Stat() - if err != nil { - closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) - return closeErrors.ErrorOrNil() - } - if _, err := f.checksumWriter.Write([]byte(fmt.Sprintf(checksumLine, sum, s.Name()))); err != nil { closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) }