diff --git a/contrib/fuzz/archive_fuzzer.go b/contrib/fuzz/archive_fuzzer.go index 233513950..b4fe440e3 100644 --- a/contrib/fuzz/archive_fuzzer.go +++ b/contrib/fuzz/archive_fuzzer.go @@ -82,6 +82,7 @@ func FuzzImportIndex(data []byte) int { return 0 } if shouldRequireLayoutOrManifest { + hasLayoutOrManifest := false tr := tar.NewReader(r) for { hdr, err := tr.Next() @@ -93,14 +94,13 @@ func FuzzImportIndex(data []byte) int { } hdrName := path.Clean(hdr.Name) switch hdrName { - case ocispec.ImageLayoutFile: - break - case "manifest.json": - break - default: - return 0 + case ocispec.ImageLayoutFile, "manifest.json": + hasLayoutOrManifest = true } } + if !hasLayoutOrManifest { + return 0 + } } tmpdir, err := os.MkdirTemp("", "fuzzing-") if err != nil {