Code review markups:
- Correct use of CPPFLAGS - Detect allocation failure - Add a CHECK macro for failure
This commit is contained in:
parent
a5cf079d4d
commit
88a7cfd728
@ -30,9 +30,9 @@ LIB_FUZZING_ENGINE ?= standaloneengine.o
|
|||||||
DEBUGLEVEL?= 1
|
DEBUGLEVEL?= 1
|
||||||
DEBUGFLAGS = -g -DLZ4_DEBUG=$(DEBUGLEVEL)
|
DEBUGFLAGS = -g -DLZ4_DEBUG=$(DEBUGLEVEL)
|
||||||
|
|
||||||
CFLAGS += -I$(LZ4DIR) $(DEBUGFLAGS) $(MOREFLAGS)
|
CFLAGS += -I$(LZ4DIR) $(DEBUGFLAGS) $(MOREFLAGS)
|
||||||
CPPFLAGS+= -I$(LZ4DIR) -DXXH_NAMESPACE=LZ4_
|
CXXFLAGS += -I$(LZ4DIR) $(DEBUGFLAGS) $(MOREFLAGS)
|
||||||
FLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
|
CPPFLAGS += -DXXH_NAMESPACE=LZ4_
|
||||||
|
|
||||||
include ../Makefile.inc
|
include ../Makefile.inc
|
||||||
|
|
||||||
@ -42,13 +42,13 @@ $(LZ4DIR)/liblz4.a:
|
|||||||
$(MAKE) -C $(LZ4DIR) CFLAGS="$(CFLAGS)" liblz4.a
|
$(MAKE) -C $(LZ4DIR) CFLAGS="$(CFLAGS)" liblz4.a
|
||||||
|
|
||||||
%.o: %.cc
|
%.o: %.cc
|
||||||
$(CXX) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
|
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
|
||||||
|
|
||||||
.PHONY: compress_fuzzer
|
.PHONY: compress_fuzzer
|
||||||
compress_fuzzer: compress_fuzzer.o $(LZ4DIR)/liblz4.a
|
compress_fuzzer: compress_fuzzer.o $(LZ4DIR)/liblz4.a
|
||||||
# Compile the standalone code just in case. The OSS-Fuzz code might
|
# Compile the standalone code just in case. The OSS-Fuzz code might
|
||||||
# override the LIB_FUZZING_ENGINE value to "-fsanitize=fuzzer"
|
# override the LIB_FUZZING_ENGINE value to "-fsanitize=fuzzer"
|
||||||
$(CXX) -c $(CFLAGS) $(CPPFLAGS) standaloneengine.cc -o standaloneengine.o
|
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) standaloneengine.cc -o standaloneengine.o
|
||||||
|
|
||||||
# Now compile the actual fuzzer.
|
# Now compile the actual fuzzer.
|
||||||
$(CXX) $(FLAGS) $(LIB_FUZZING_ENGINE) $^ -o $@$(EXT)
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LIB_FUZZING_ENGINE) $^ -o $@$(EXT)
|
||||||
|
@ -3,20 +3,24 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "lz4.h"
|
#include "lz4.h"
|
||||||
|
|
||||||
|
#define CHECK(COND) if (!(COND)) { abort(); }
|
||||||
|
|
||||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||||
{
|
{
|
||||||
size_t const compressed_dest_size = LZ4_compressBound(size);
|
size_t const compressed_dest_size = LZ4_compressBound(size);
|
||||||
char *const dest_buffer = (char *)malloc(compressed_dest_size);
|
char *const dest_buffer = (char *)malloc(compressed_dest_size);
|
||||||
|
|
||||||
int result = LZ4_compress_default((const char*)data, dest_buffer,
|
if (dest_buffer != NULL)
|
||||||
size, compressed_dest_size);
|
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
{
|
{
|
||||||
abort();
|
// Allocation succeeded, try compressing the incoming data.
|
||||||
}
|
int result = LZ4_compress_default((const char*)data,
|
||||||
|
dest_buffer,
|
||||||
|
size,
|
||||||
|
compressed_dest_size);
|
||||||
|
CHECK(result != 0);
|
||||||
|
|
||||||
free(dest_buffer);
|
free(dest_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -6,14 +6,11 @@
|
|||||||
# Save off the current folder as the build root.
|
# Save off the current folder as the build root.
|
||||||
export BUILD_ROOT=$PWD
|
export BUILD_ROOT=$PWD
|
||||||
|
|
||||||
# lz4 uses CPPFLAGS rather than CXX flags.
|
|
||||||
export CPPFLAGS="${CXXFLAGS}"
|
|
||||||
|
|
||||||
echo "CC: $CC"
|
echo "CC: $CC"
|
||||||
echo "CXX: $CXX"
|
echo "CXX: $CXX"
|
||||||
echo "LIB_FUZZING_ENGINE: $LIB_FUZZING_ENGINE"
|
echo "LIB_FUZZING_ENGINE: $LIB_FUZZING_ENGINE"
|
||||||
echo "CFLAGS: $CFLAGS"
|
echo "CFLAGS: $CFLAGS"
|
||||||
echo "CPPFLAGS: $CPPFLAGS"
|
echo "CXXFLAGS: $CXXFLAGS"
|
||||||
echo "OUT: $OUT"
|
echo "OUT: $OUT"
|
||||||
|
|
||||||
export MAKEFLAGS+="-j$(nproc)"
|
export MAKEFLAGS+="-j$(nproc)"
|
||||||
|
Loading…
Reference in New Issue
Block a user