From 2e0615270d157beb293bfce832a8a39bc6f2e749 Mon Sep 17 00:00:00 2001 From: Matt Holt Date: Tue, 10 Dec 2019 15:00:31 -0700 Subject: [PATCH] fuzz: Remove Caddyfile adapter from fuzz corpus (#2925) The Caddyfile adapter does not need to be fuzzed, as all it really does is invoke the Caddyfile parser, which is already fuzzed --- azure-pipelines.yml | 2 -- caddyconfig/httpcaddyfile/adapter_fuzz.go | 43 ----------------------- 2 files changed, 45 deletions(-) delete mode 100644 caddyconfig/httpcaddyfile/adapter_fuzz.go diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d7d3e71c..8fdf0b3f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -206,7 +206,6 @@ jobs: - bash: | declare -A fuzzers_funcs=(\ - ["./caddyconfig/httpcaddyfile/adapter_fuzz.go"]="FuzzHTTPCaddyfileAdapter" \ ["./caddyconfig/httpcaddyfile/addresses_fuzz.go"]="FuzzParseAddress" \ ["./caddyconfig/caddyfile/parse_fuzz.go"]="FuzzParseCaddyfile" \ ["./listeners_fuzz.go"]="FuzzParseNetworkAddress" \ @@ -214,7 +213,6 @@ jobs: ) declare -A fuzzers_targets=(\ - ["./caddyconfig/httpcaddyfile/adapter_fuzz.go"]="caddyfile-adapter" \ ["./caddyconfig/httpcaddyfile/addresses_fuzz.go"]="parse-address" \ ["./caddyconfig/caddyfile/parse_fuzz.go"]="parse-caddyfile" \ ["./listeners_fuzz.go"]="parse-network-address" \ diff --git a/caddyconfig/httpcaddyfile/adapter_fuzz.go b/caddyconfig/httpcaddyfile/adapter_fuzz.go deleted file mode 100644 index 2aaead79..00000000 --- a/caddyconfig/httpcaddyfile/adapter_fuzz.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2015 Matthew Holt and The Caddy Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build gofuzz -// +build gofuzz_libfuzzer - -package httpcaddyfile - -import ( - "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile" -) - -func FuzzHTTPCaddyfileAdapter(data []byte) int { - adapter := caddyfile.Adapter{ - ServerType: ServerType{}, - } - - _, warns, err := adapter.Adapt(data, nil) - - // Adapt func calls the Setup() func of the ServerType, - // thus it's going across multiple layers, each can - // return warnings or errors. Marking the presence of - // errors or warnings as interesting in this case - // could push the fuzzer towards a path where we only - // catch errors. Let's push the fuzzer to where it passes - // but breaks. - if err != nil || (warns != nil && len(warns) > 0) { - return 0 - } - - return 1 -}