diff options
Diffstat (limited to 'projects')
-rw-r--r-- | projects/c-ares/Dockerfile | 2 | ||||
-rwxr-xr-x | projects/c-ares/build.sh | 10 | ||||
-rw-r--r-- | projects/c-ares/c_ares_ares_create_query_fuzzer.cc | 31 |
3 files changed, 8 insertions, 35 deletions
diff --git a/projects/c-ares/Dockerfile b/projects/c-ares/Dockerfile index 9f22cb88..06bdc181 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/build.sh b/projects/c-ares/build.sh index 8b3f1f69..b5f3d827 100755 --- a/projects/c-ares/build.sh +++ b/projects/c-ares/build.sh @@ -22,7 +22,11 @@ make clean make -j$(nproc) V=1 all # Build the fuzzer. -$CXX $CXXFLAGS -std=c++11 -I. \ - $SRC/c_ares_ares_create_query_fuzzer.cc \ - -o $OUT/c_ares_ares_create_query_fuzzer \ +$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 \ + -o $OUT/ares_parse_reply_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/* diff --git a/projects/c-ares/c_ares_ares_create_query_fuzzer.cc b/projects/c-ares/c_ares_ares_create_query_fuzzer.cc deleted file mode 100644 index fc12938e..00000000 --- a/projects/c-ares/c_ares_ares_create_query_fuzzer.cc +++ /dev/null @@ -1,31 +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 <stdint.h> -#include <stdlib.h> - -#include <arpa/nameser.h> - -#include <string> - -#include <ares.h> - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - unsigned char *buf; - int buflen; - std::string s(reinterpret_cast<const char *>(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; -} |