fuzzing: improve archive fuzzer
Signed-off-by: AdamKorcz <adam@adalogics.com>
This commit is contained in:
parent
d063186221
commit
74813786ca
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user