diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 264bc36..4d4bd6e 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -112,6 +112,16 @@ if (BUILD_LIBFUZZER) set_target_properties(Runlen_LF PROPERTIES COMPILE_DEFINITIONS "LIBFUZZER") endif() +add_executable(FromEclipser FromEclipser.cpp) +target_link_libraries(FromEclipser deepstate) + +if (BUILD_LIBFUZZER) + add_executable(FromEclipser_LF FromEclipser.cpp) + target_link_libraries(FromEclipser_LF deepstate_LF) + target_link_libraries (FromEclipser_LF "-fsanitize=fuzzer,undefined") + set_target_properties(FromEclipser_LF PROPERTIES COMPILE_DEFINITIONS "LIBFUZZER") +endif() + if (NOT APPLE) add_executable(Squares Squares.c) target_link_libraries(Squares deepstate) diff --git a/examples/FromEclipser.cpp b/examples/FromEclipser.cpp new file mode 100644 index 0000000..0f26ad1 --- /dev/null +++ b/examples/FromEclipser.cpp @@ -0,0 +1,19 @@ +#include + +using namespace deepstate; + +#include + +int vulnfunc(int32_t intInput, char * strInput) { + if (2 * intInput + 1 == 31337) + if (strcmp(strInput, "Bad!") == 0) + assert(0); + return 0; +} + +TEST(FromEclipser, CrashIt) { + char *buf = (char*)DeepState_Malloc(9); + buf[8] = 0; + vulnfunc(*((int32_t*) &buf[0]), &buf[4]); + free(buf); +}