summary refs log tree commit diff
path: root/http-parser/fuzzers
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2020-05-07 22:16:57 +0200
committerLeah Neukirchen <leah@vuxu.org>2020-05-07 22:16:57 +0200
commitd98c6e6bcb48bc7c910fe06dd9d94f2868bb1afb (patch)
treeb4708c3f62b0958c7acc7a4ae8f643653a3ec1ba /http-parser/fuzzers
downloadhittpd-d98c6e6bcb48bc7c910fe06dd9d94f2868bb1afb.tar.gz
hittpd-d98c6e6bcb48bc7c910fe06dd9d94f2868bb1afb.tar.xz
hittpd-d98c6e6bcb48bc7c910fe06dd9d94f2868bb1afb.zip
initial commit
Diffstat (limited to 'http-parser/fuzzers')
-rw-r--r--http-parser/fuzzers/fuzz_parser.c26
-rw-r--r--http-parser/fuzzers/fuzz_url.c14
2 files changed, 40 insertions, 0 deletions
diff --git a/http-parser/fuzzers/fuzz_parser.c b/http-parser/fuzzers/fuzz_parser.c
new file mode 100644
index 0000000..1a8442c
--- /dev/null
+++ b/http-parser/fuzzers/fuzz_parser.c
@@ -0,0 +1,26 @@
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include "http_parser.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+  static const http_parser_settings settings_null = {
+    .on_message_begin = 0
+    , .on_header_field = 0
+    ,.on_header_value = 0
+    ,.on_url = 0
+    ,.on_status = 0
+    ,.on_body = 0
+    ,.on_headers_complete = 0
+    ,.on_message_complete = 0
+    ,.on_chunk_header = 0
+    ,.on_chunk_complete = 0
+  };
+
+  http_parser parser;
+  http_parser_init(&parser, HTTP_BOTH);
+  http_parser_execute(&parser, &settings_null, (char*)data, size);
+
+  return 0;
+}
diff --git a/http-parser/fuzzers/fuzz_url.c b/http-parser/fuzzers/fuzz_url.c
new file mode 100644
index 0000000..eca11a2
--- /dev/null
+++ b/http-parser/fuzzers/fuzz_url.c
@@ -0,0 +1,14 @@
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include "http_parser.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+  struct http_parser_url u;
+  http_parser_url_init(&u);
+  http_parser_parse_url((char*)data, size, 0, &u);
+  http_parser_parse_url((char*)data, size, 1, &u);
+
+  return 0;
+}