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