From cf3c11bde848a0b2a487d78dfcbe5f022d0053ab Mon Sep 17 00:00:00 2001 From: David Korczynski Date: Mon, 24 Jul 2023 04:18:28 -0700 Subject: [PATCH] Add compile fuzzer for OSS-Fuzz Signed-off-by: David Korczynski --- tests/jq_fuzz_compile.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/jq_fuzz_compile.c diff --git a/tests/jq_fuzz_compile.c b/tests/jq_fuzz_compile.c new file mode 100644 index 00000000..91218d6f --- /dev/null +++ b/tests/jq_fuzz_compile.c @@ -0,0 +1,25 @@ +#include +#include +#include + +#include "jq.h" + +int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) { + // Creat null-terminated string + char *null_terminated = (char *)malloc(size + 1); + memcpy(null_terminated, (char *)data, size); + null_terminated[size] = '\0'; + + // Fuzzer entrypoint + jq_state *jq = NULL; + jq = jq_init(); + if (jq != NULL) { + jq_compile(jq, null_terminated); + } + jq_teardown(&jq); + + // Free the null-terminated string + free(null_terminated); + + return 0; +}