diff --git a/mfer/builder.go b/mfer/builder.go index fd4074f..7864897 100644 --- a/mfer/builder.go +++ b/mfer/builder.go @@ -134,6 +134,11 @@ func (b *Builder) AddFile( } } + // Verify actual bytes read matches declared size + if totalRead != size { + return totalRead, fmt.Errorf("size mismatch for %q: declared %d bytes but read %d bytes", path, size, totalRead) + } + // Encode hash as multihash (SHA2-256) mh, err := multihash.Encode(h.Sum(nil), multihash.SHA2_256) if err != nil {