diff --git a/internal/blobgen/compress.go b/internal/blobgen/compress.go index 1292fae..e8a8799 100644 --- a/internal/blobgen/compress.go +++ b/internal/blobgen/compress.go @@ -51,7 +51,13 @@ func CompressStream(dst io.Writer, src io.Reader, compressionLevel int, recipien if err != nil { return 0, "", fmt.Errorf("creating writer: %w", err) } - defer func() { _ = w.Close() }() + + closed := false + defer func() { + if !closed { + _ = w.Close() + } + }() // Copy data if _, err := io.Copy(w, src); err != nil { @@ -62,6 +68,7 @@ func CompressStream(dst io.Writer, src io.Reader, compressionLevel int, recipien if err := w.Close(); err != nil { return 0, "", fmt.Errorf("closing writer: %w", err) } + closed = true return w.BytesWritten(), hex.EncodeToString(w.Sum256()), nil }