summaryrefslogtreecommitdiffhomepage
path: root/oss-fuzz/mruby_fuzzer.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-05-04 18:32:40 +0900
committerGitHub <[email protected]>2019-05-04 18:32:40 +0900
commit2b1c4e9acd66321e4d7a8e7069a4f6ffade60a33 (patch)
treeaedb09066d2c857ee100a12b2cbc292fb3f3b0b4 /oss-fuzz/mruby_fuzzer.c
parent82b04f927e8fef38d9e6b3874c7008397fd71ac7 (diff)
parent05b4eaac4b6bbf7d6e28887b48dcead2140c7d0b (diff)
downloadmruby-2b1c4e9acd66321e4d7a8e7069a4f6ffade60a33.tar.gz
mruby-2b1c4e9acd66321e4d7a8e7069a4f6ffade60a33.zip
Merge pull request #4179 from bshastry/ossfuzz
ossfuzz: Add simple mruby compile test harness
Diffstat (limited to 'oss-fuzz/mruby_fuzzer.c')
-rw-r--r--oss-fuzz/mruby_fuzzer.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/oss-fuzz/mruby_fuzzer.c b/oss-fuzz/mruby_fuzzer.c
new file mode 100644
index 000000000..9d3d44a5b
--- /dev/null
+++ b/oss-fuzz/mruby_fuzzer.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+#include <string.h>
+#include <mruby.h>
+#include <mruby/compile.h>
+
+int LLVMFuzzerTestOneInput(uint8_t *Data, size_t size) {
+ if (size < 1) {
+ return 0;
+ }
+ char *code = malloc(size+1);
+ memcpy(code, Data, size);
+ code[size] = '\0';
+ mrb_state *mrb = mrb_open();
+ mrb_load_string(mrb, code);
+ mrb_close(mrb);
+ free(code);
+ return 0;
+}