瀏覽代碼

Add fuzz scripts

Manish Goregaokar 9 年之前
父節點
當前提交
82ccae4d89
共有 3 個文件被更改,包括 34 次插入0 次删除
  1. 3 0
      fuzz/.gitignore
  2. 15 0
      fuzz/Cargo.toml
  3. 16 0
      fuzz/fuzzers/parse.rs

+ 3 - 0
fuzz/.gitignore

@@ -0,0 +1,3 @@
+
+target
+libfuzzer

+ 15 - 0
fuzz/Cargo.toml

@@ -0,0 +1,15 @@
+
+[package]
+name = "url-fuzz"
+version = "0.0.1"
+authors = ["Automatically generated"]
+
+[dependencies.url]
+path = ".."
+
+[[bin]]
+name = "parse"
+path = "fuzzers/parse.rs"
+
+[workspace]
+members = ["."]

+ 16 - 0
fuzz/fuzzers/parse.rs

@@ -0,0 +1,16 @@
+#![no_main]
+
+extern crate fuzzer_sys;
+
+extern crate url;
+use std::slice;
+use std::str;
+
+#[export_name="LLVMFuzzerTestOneInput"]
+pub extern fn go(data: *const u8, size: isize) -> i32 {
+	let slice = unsafe { slice::from_raw_parts(data, size as usize) };
+	if let Ok(utf8) = str::from_utf8(slice) {
+		let url = url::Url::parse(utf8);
+	}
+	return 0;
+}