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