@@ -433,19 +433,26 @@ func ensureFileMetadataAttributesMatch(a, b *minimal.FileMetadata) error {
433
433
return nil
434
434
}
435
435
436
- func decodeAndValidateBlob (blob []byte , lengthUncompressed uint64 , expectedCompressedChecksum string ) ([] byte , error ) {
436
+ func validateBlob (blob []byte , expectedCompressedChecksum string ) error {
437
437
d , err := digest .Parse (expectedCompressedChecksum )
438
438
if err != nil {
439
- return nil , fmt .Errorf ("invalid digest %q: %w" , expectedCompressedChecksum , err )
439
+ return fmt .Errorf ("invalid digest %q: %w" , expectedCompressedChecksum , err )
440
440
}
441
441
442
442
blobDigester := d .Algorithm ().Digester ()
443
443
blobChecksum := blobDigester .Hash ()
444
444
if _ , err := blobChecksum .Write (blob ); err != nil {
445
- return nil , err
445
+ return err
446
446
}
447
447
if blobDigester .Digest () != d {
448
- return nil , fmt .Errorf ("invalid blob checksum, expected checksum %s, got %s" , d , blobDigester .Digest ())
448
+ return fmt .Errorf ("invalid blob checksum, expected checksum %s, got %s" , d , blobDigester .Digest ())
449
+ }
450
+ return nil
451
+ }
452
+
453
+ func decodeAndValidateBlob (blob []byte , lengthUncompressed uint64 , expectedCompressedChecksum string ) ([]byte , error ) {
454
+ if err := validateBlob (blob , expectedCompressedChecksum ); err != nil {
455
+ return nil , err
449
456
}
450
457
451
458
decoder , err := zstd .NewReader (nil ) //nolint:contextcheck
0 commit comments