summaryrefslogtreecommitdiffstats
path: root/tests/jq_fuzz_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/jq_fuzz_parse.c')
-rw-r--r--tests/jq_fuzz_parse.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/jq_fuzz_parse.c b/tests/jq_fuzz_parse.c
new file mode 100644
index 00000000..e223c15a
--- /dev/null
+++ b/tests/jq_fuzz_parse.c
@@ -0,0 +1,21 @@
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "jv.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
+ jv res = jv_parse(null_terminated);
+ jv_free(res);
+
+ // Free the null-terminated string
+ free(null_terminated);
+
+ return 0;
+}