Update travis config for fuzzer builds

This commit is contained in:
Bhargava Shastry
2019-07-27 10:57:49 +02:00
parent d71375bf8a
commit a58d4b03c5
3 changed files with 23 additions and 16 deletions

View File

@@ -70,9 +70,16 @@ install:
before_script:
- mkdir -p build && cd build
- cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- if [ "$CXX" = "clang++-8"; then
# Build UBSan binary
export CXXFLAGS="-fsanitize=undefined -fsanitize-coverage=bb,trace-pc-guard";
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DSNAPPY_REQUIRE_${CPU_LEVEL}=ON
-DSNAPPY_BUILD_FUZZERS=ON
-DSNAPPY_BUILD_FUZZERS=ON;
else
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DSNAPPY_REQUIRE_${CPU_LEVEL}=ON;
fi
- cmake --build .
- cd ..

View File

@@ -53,14 +53,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
assert(compressed_len == compressed_out.size());
assert(compressed_len <= snappy::MaxCompressedLength(input.size()));
assert(snappy::IsValidCompressedBuffer(
compressed_out.data(),
compressed_out.size()));
compressed_out.data(),
compressed_out.size()));
size_t uncompressed_len = 0;
bool getcomp_len_success = snappy::GetUncompressedLength(
compressed_out.data(),
compressed_out.size(),
&uncompressed_len);
compressed_out.data(),
compressed_out.size(),
&uncompressed_len);
// Check that GetUncompressedLength() does not return a very large
// value (1 MB) on success.
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
@@ -68,9 +68,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
// Uncompress
string uncompressed_out;
bool uncompress_success = snappy::Uncompress(
compressed_out.data(),
compressed_out.size(),
&uncompressed_out);
compressed_out.data(),
compressed_out.size(),
&uncompressed_out);
assert(uncompress_success);
assert(input == uncompressed_out);

View File

@@ -45,9 +45,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
size_t uncompressed_len = 0;
bool getcomp_len_success = snappy::GetUncompressedLength(
input.data(),
input.size(),
&uncompressed_len);
input.data(),
input.size(),
&uncompressed_len);
// Check that GetUncompressedLength() does not return a very large
// value (1 MB) on success.
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
@@ -55,9 +55,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
// Uncompress
string uncompressed_out;
bool uncompress_success = snappy::Uncompress(
input.data(),
input.size(),
&uncompressed_out);
input.data(),
input.size(),
&uncompressed_out);
assert(uncompress_success);
return 0;