Use fuzzers provided by woff2 (#242)

* add primary contact for woff2

* Use fuzzers provided by woff2
This commit is contained in:
rsheeter 2017-01-03 17:01:47 -08:00 committed by Kostya Serebryany
parent 7a4a03bf6b
commit 953471af8e
2 changed files with 5 additions and 30 deletions

View File

@ -21,21 +21,13 @@ cat brotli/shared.mk | sed -e "s/-no-canonical-prefixes//" \
> brotli/shared.mk.temp > brotli/shared.mk.temp
mv brotli/shared.mk.temp brotli/shared.mk mv brotli/shared.mk.temp brotli/shared.mk
cat Makefile | sed -e "s/-no-canonical-prefixes//" \
> Makefile.temp
mv Makefile.temp Makefile
# woff2 uses LFLAGS instead of LDFLAGS. # woff2 uses LFLAGS instead of LDFLAGS.
make clean make clean
make -j$(nproc) CC="$CC $CFLAGS" CXX="$CXX $CXXFLAGS" all make -j$(nproc) CC="$CC $CFLAGS" CXX="$CXX $CXXFLAGS" CANONICAL_PREFIXES= all
# To avoid multiple main() definitions. # Build fuzzers
rm src/woff2_compress.o src/woff2_decompress.o for fuzzer_archive in $(ls src/*fuzzer*.a); do
$CXX $CXXFLAGS -lFuzzingEngine $fuzzer_archive -o $OUT/${fuzzer_archive%.a}
# Build the fuzzer. done
fuzzer=convert_woff2ttf_fuzzer
$CXX $CXXFLAGS -std=c++11 -Isrc \
$SRC/$fuzzer.cc -o $OUT/$fuzzer \
-lFuzzingEngine src/*.o brotli/dec/*.o brotli/enc/*.o
cp $SRC/*.options $OUT/ cp $SRC/*.options $OUT/

View File

@ -1,17 +0,0 @@
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <stddef.h>
#include <stdint.h>
#include "woff2_dec.h"
// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
std::string buf;
woff2::WOFF2StringOut out(&buf);
out.SetMaxSize(30 * 1024 * 1024);
woff2::ConvertWOFF2ToTTF(data, size, &out);
return 0;
}