From 848a1dd74b081a2eeeffcbfc9796ceaa3f7deea1 Mon Sep 17 00:00:00 2001 From: Max Moroz Date: Thu, 15 Dec 2016 16:48:03 +0100 Subject: [PATCH] [c-ares] Use the second fuzzer + its seed corpus from c-ares repo. (#185) --- projects/c-ares/Dockerfile | 2 +- projects/c-ares/ares_create_query_fuzzer.cc | 32 --------------------- projects/c-ares/build.sh | 11 ++++--- 3 files changed, 8 insertions(+), 37 deletions(-) delete mode 100644 projects/c-ares/ares_create_query_fuzzer.cc diff --git a/projects/c-ares/Dockerfile b/projects/c-ares/Dockerfile index 9f22cb88d..06bdc181c 100644 --- a/projects/c-ares/Dockerfile +++ b/projects/c-ares/Dockerfile @@ -19,4 +19,4 @@ MAINTAINER mmoroz@chromium.org RUN apt-get install -y make autoconf automake libtool RUN git clone --depth 1 https://github.com/c-ares/c-ares.git WORKDIR c-ares -COPY build.sh *_fuzzer.cc $SRC/ +COPY build.sh $SRC/ diff --git a/projects/c-ares/ares_create_query_fuzzer.cc b/projects/c-ares/ares_create_query_fuzzer.cc deleted file mode 100644 index 48d2c9800..000000000 --- a/projects/c-ares/ares_create_query_fuzzer.cc +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2016 Google Inc. -// -// 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. - -#include -#include - -#include - -#include - -#include - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - unsigned char *buf; - int buflen; - std::string s(reinterpret_cast(data), size); - ares_create_query(s.c_str(), ns_c_in, ns_t_a, 0x1234, 0, &buf, &buflen, 0); - ares_free_string(buf); - return 0; -} - diff --git a/projects/c-ares/build.sh b/projects/c-ares/build.sh index afd4808bc..05784bb02 100755 --- a/projects/c-ares/build.sh +++ b/projects/c-ares/build.sh @@ -23,14 +23,17 @@ make -j$(nproc) V=1 all # Build the fuzzers. $CC $CFLAGS -I. -c $SRC/c-ares/test/ares-test-fuzz.c -o $WORK/ares-test-fuzz.o -$CXX $CXXFLAGS -std=c++11 \ - $WORK/ares-test-fuzz.o \ +$CXX $CXXFLAGS -std=c++11 $WORK/ares-test-fuzz.o \ -o $OUT/ares_parse_reply_fuzzer \ -lFuzzingEngine $SRC/c-ares/.libs/libcares.a -$CXX $CXXFLAGS -std=c++11 -I. \ - $SRC/ares_create_query_fuzzer.cc \ + +$CC $CFLAGS -I. -c $SRC/c-ares/test/ares-test-fuzz-name.c \ + -o $WORK/ares-test-fuzz-name.o +$CXX $CXXFLAGS -std=c++11 $WORK/ares-test-fuzz-name.o \ -o $OUT/ares_create_query_fuzzer \ -lFuzzingEngine $SRC/c-ares/.libs/libcares.a # Archive and copy to $OUT seed corpus if the build succeeded. zip -j $OUT/ares_parse_reply_fuzzer_seed_corpus.zip $SRC/c-ares/test/fuzzinput/* +zip -j $OUT/ares_create_query_fuzzer_seed_corpus.zip \ + $SRC/c-ares/test/fuzznames/*