Check reads in fuzzer

This commit is contained in:
2024-01-19 16:44:38 -08:00
parent 4993462797
commit 2e6649db44
2 changed files with 83 additions and 29 deletions

View File

@@ -52,8 +52,10 @@ add_test(NAME conflict_set_cxx_api_test COMMAND conflict_set_cxx_api_test)
target_compile_options(conflict_set_cxx_api_test PRIVATE -Wall -Wextra -Wpedantic -Wunreachable-code -Werror)
# fuzz test
set(FUZZ_FLAGS "-fsanitize=fuzzer,address,undefined")
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(HAS_LIB_FUZZER -fsanitize=fuzzer)
set(CMAKE_REQUIRED_LINK_OPTIONS ${FUZZ_FLAGS})
check_cxx_compiler_flag(${FUZZ_FLAGS} HAS_LIB_FUZZER)
if (HAS_LIB_FUZZER)
add_executable(conflict_set_fuzz_test ConflictSet.cpp ConflictSet.h)
@@ -61,6 +63,6 @@ if (HAS_LIB_FUZZER)
# keep asserts for test
target_compile_options(conflict_set_fuzz_test PRIVATE -UNDEBUG)
target_compile_options(conflict_set_fuzz_test PRIVATE -Wall -Wextra -Wpedantic -Wunreachable-code)
target_compile_options(conflict_set_fuzz_test PRIVATE -fsanitize=fuzzer)
target_link_options(conflict_set_fuzz_test PRIVATE -fsanitize=fuzzer)
target_compile_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS})
target_link_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS})
endif()