summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavkor <david@adalogics.com>2021-01-26 20:32:43 +0000
committerNico Williams <nico@cryptonector.com>2023-07-10 13:57:38 -0500
commit3df8f90c4e283790ce9a8f269a8dba65e8f88b7e (patch)
treecc82522276818e55b14fe4d7a429c4e2fca7dfbf
parent6ca7973d4913b0ca7e692ac3ebbcf8e366b41860 (diff)
Add first fuzzer for integration with OSS-Fuzz.
Signed-off-by: David Korczynski <david@adalogics.com>
-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;
+}