diff --git a/tests/jq_fuzz_compile.c b/tests/jq_fuzz_compile.c new file mode 100644 index 0000000000..91218d6f0e --- /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; +}