Merge pull request #7718 from AdamKorcz/fuzz1234

fuzzing: improve archive fuzzer
This commit is contained in:
Derek McGowan 2022-12-12 09:29:34 -08:00 committed by GitHub
commit 182375794d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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