diff --git a/internal/bsr/internal/checksum/checksum.go b/internal/bsr/internal/checksum/checksum.go index 6ae6639570..ca69d48f04 100644 --- a/internal/bsr/internal/checksum/checksum.go +++ b/internal/bsr/internal/checksum/checksum.go @@ -90,18 +90,18 @@ func (f *File) Close() error { var closeErrors *multierror.Error - // f.Sha256SumWriter will close f.underlying - if err := f.Sha256SumWriter.Close(); err != nil { + s, err := f.Stat() + if err != nil { closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) + return closeErrors.ErrorOrNil() } - sum, err := f.Sha256SumWriter.Sum(f.ctx, crypto.WithHexEncoding(true)) - if err != nil { + // f.Sha256SumWriter will close f.underlying + if err := f.Sha256SumWriter.Close(); err != nil { closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) - return closeErrors.ErrorOrNil() } - s, err := f.Stat() + sum, err := f.Sha256SumWriter.Sum(f.ctx, crypto.WithHexEncoding(true)) if err != nil { closeErrors = multierror.Append(closeErrors, fmt.Errorf("%s: %w", op, err)) return closeErrors.ErrorOrNil()