diff --git a/configuration/fuzz.go b/configuration/fuzz.go new file mode 100644 index 00000000000..9f904b44376 --- /dev/null +++ b/configuration/fuzz.go @@ -0,0 +1,11 @@ +package configuration + +import ( + "bytes" +) + +func ParserFuzzer(data []byte) int { + rd := bytes.NewReader(data) + _, _ = Parse(rd) + return 1 +} diff --git a/reference/fuzz.go b/reference/fuzz.go new file mode 100644 index 00000000000..6ac5daee36c --- /dev/null +++ b/reference/fuzz.go @@ -0,0 +1,6 @@ +package reference + +func FuzzParseNormalizedNamed(data []byte) int { + _, _ = ParseNormalizedNamed(string(data)) + return 1 +} diff --git a/registry/api/v2/fuzz.go b/registry/api/v2/fuzz.go new file mode 100644 index 00000000000..b95206e5f6c --- /dev/null +++ b/registry/api/v2/fuzz.go @@ -0,0 +1,6 @@ +package v2 + +func FuzzParseForwardedHeader(data []byte) int { + _, _, _ = parseForwardedHeader(string(data)) + return 1 +} diff --git a/script/oss_fuzz_build.sh b/script/oss_fuzz_build.sh new file mode 100755 index 00000000000..d402d3b9462 --- /dev/null +++ b/script/oss_fuzz_build.sh @@ -0,0 +1,5 @@ +#!/bin/bash -eu + +compile_go_fuzzer github.com/distribution/distribution/v3/configuration ParserFuzzer parser_fuzzer +compile_go_fuzzer github.com/distribution/distribution/v3/reference FuzzParseNormalizedNamed fuzz_parsed_normalized_named +compile_go_fuzzer github.com/distribution/distribution/v3/registry/api/v2 FuzzParseForwardedHeader fuzz_parse_forwarded_header