mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
fuzzing: Speed up afl using persistent mode (in proccess fuzzing)
This commit is contained in:
parent
ae4681b787
commit
da551c753f
@ -18,6 +18,8 @@ if (ENABLE_FUZZING)
|
|||||||
set(fuzz_print_parameter "yes")
|
set(fuzz_print_parameter "yes")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error")
|
||||||
|
|
||||||
add_custom_target(afl
|
add_custom_target(afl
|
||||||
COMMAND "${AFL_FUZZ}" -i "${CMAKE_CURRENT_SOURCE_DIR}/inputs" -o "${CMAKE_CURRENT_BINARY_DIR}/findings" -x "${CMAKE_CURRENT_SOURCE_DIR}/json.dict" -- "${CMAKE_CURRENT_BINARY_DIR}/afl-main" "@@" "${fuzz_print_parameter}"
|
COMMAND "${AFL_FUZZ}" -i "${CMAKE_CURRENT_SOURCE_DIR}/inputs" -o "${CMAKE_CURRENT_BINARY_DIR}/findings" -x "${CMAKE_CURRENT_SOURCE_DIR}/json.dict" -- "${CMAKE_CURRENT_BINARY_DIR}/afl-main" "@@" "${fuzz_print_parameter}"
|
||||||
DEPENDS afl-main)
|
DEPENDS afl-main)
|
||||||
|
@ -87,7 +87,7 @@ int main(int argc, char** argv)
|
|||||||
const char *filename = NULL;
|
const char *filename = NULL;
|
||||||
cJSON *item = NULL;
|
cJSON *item = NULL;
|
||||||
char *json = NULL;
|
char *json = NULL;
|
||||||
int status = EXIT_SUCCESS;
|
int status;
|
||||||
char *printed_json = NULL;
|
char *printed_json = NULL;
|
||||||
|
|
||||||
if ((argc < 2) || (argc > 3))
|
if ((argc < 2) || (argc > 3))
|
||||||
@ -100,6 +100,12 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
filename = argv[1];
|
filename = argv[1];
|
||||||
|
|
||||||
|
#if __AFL_HAVE_MANUAL_CONTROL
|
||||||
|
while (__AFL_LOOP(1000))
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
status = EXIT_SUCCESS;
|
||||||
|
|
||||||
json = read_file(filename);
|
json = read_file(filename);
|
||||||
if ((json == NULL) || (json[0] == '\0') || (json[1] == '\0'))
|
if ((json == NULL) || (json[0] == '\0') || (json[1] == '\0'))
|
||||||
{
|
{
|
||||||
@ -149,15 +155,21 @@ cleanup:
|
|||||||
if (item != NULL)
|
if (item != NULL)
|
||||||
{
|
{
|
||||||
cJSON_Delete(item);
|
cJSON_Delete(item);
|
||||||
|
item = NULL;
|
||||||
}
|
}
|
||||||
if (json != NULL)
|
if (json != NULL)
|
||||||
{
|
{
|
||||||
free(json);
|
free(json);
|
||||||
|
json = NULL;
|
||||||
}
|
}
|
||||||
if (printed_json != NULL)
|
if (printed_json != NULL)
|
||||||
{
|
{
|
||||||
free(printed_json);
|
free(printed_json);
|
||||||
|
printed_json = NULL;
|
||||||
}
|
}
|
||||||
|
#if __AFL_HAVE_MANUAL_CONTROL
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user