Skip to content

Commit

Permalink
Added memory sanitizer to fuzzers
Browse files Browse the repository at this point in the history
  • Loading branch information
bblanchon committed Aug 3, 2020
1 parent 1f8636d commit 6f09d90
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions extras/fuzzing/CMakeLists.txt
Expand Up @@ -22,22 +22,22 @@ target_link_libraries(json_reproducer
ArduinoJson
)

macro(add_fuzzer name)
set(FUZZER "${name}_fuzzer")
macro(add_fuzzer name mode)
set(FUZZER "${name}_${mode}_fuzzer")
set(CORPUS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${name}_corpus")
set(SEED_CORPUS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${name}_seed_corpus")
add_executable("${FUZZER}"
"${FUZZER}.cpp"
"${name}_fuzzer.cpp"
)
target_link_libraries("${FUZZER}"
ArduinoJson
)
set_target_properties("${FUZZER}"
PROPERTIES
COMPILE_FLAGS
"-fprofile-instr-generate -fcoverage-mapping -fsanitize=address,undefined,fuzzer -fno-sanitize-recover=all"
"-fprofile-instr-generate -fcoverage-mapping -fsanitize=${mode},fuzzer -fno-sanitize-recover=all"
LINK_FLAGS
"-fprofile-instr-generate -fcoverage-mapping -fsanitize=address,undefined,fuzzer -fno-sanitize-recover=all"
"-fprofile-instr-generate -fcoverage-mapping -fsanitize=${mode},fuzzer -fno-sanitize-recover=all"
)

add_test(
Expand All @@ -49,6 +49,10 @@ macro(add_fuzzer name)
endmacro()

if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 6)
add_fuzzer(json)
add_fuzzer(msgpack)
add_fuzzer(json address)
add_fuzzer(json memory)
add_fuzzer(json undefined)
add_fuzzer(msgpack address)
add_fuzzer(msgpack memory)
add_fuzzer(msgpack undefined)
endif()

0 comments on commit 6f09d90

Please sign in to comment.