fuzzing: improve archive fuzzer

Signed-off-by: AdamKorcz <adam@adalogics.com>
This commit is contained in:
AdamKorcz 2022-11-24 18:47:28 +00:00
parent d063186221
commit 74813786ca

View File

@ -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 {