Skip to content

Commit d2e0837

Browse files
committed
add fuzz
1 parent df6d5d2 commit d2e0837

File tree

4 files changed

+213
-0
lines changed

4 files changed

+213
-0
lines changed

fuzz/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
target
2+
corpus
3+
artifacts
4+
coverage

fuzz/Cargo.lock

Lines changed: 177 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

fuzz/Cargo.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[package]
2+
name = "json-five-fuzz"
3+
version = "0.0.0"
4+
publish = false
5+
edition = "2024"
6+
7+
[package.metadata]
8+
cargo-fuzz = true
9+
10+
[dependencies]
11+
libfuzzer-sys = "0.4"
12+
13+
[dependencies.json-five]
14+
path = ".."
15+
16+
[[bin]]
17+
name = "fuzz_target_1"
18+
path = "fuzz_targets/fuzz_target_1.rs"
19+
test = false
20+
doc = false
21+
bench = false

fuzz/fuzz_targets/fuzz_target_1.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#![no_main]
2+
3+
use libfuzzer_sys::fuzz_target;
4+
use json_five::tokenize::tokenize_bytes;
5+
use json_five::parser::from_tokens;
6+
fuzz_target!(|data: &[u8]| {
7+
let result = tokenize_bytes(data);
8+
if let Ok(tokens) = result {
9+
let _ = from_tokens(&tokens);
10+
}
11+
});

0 commit comments

Comments
 (0)