Skip to content

Commit 0396152

Browse files
codexByron
andcommitted
add fuzz tests for 10 more crates, and related fixes
Co-authored-by: Sebastian Thiel <sebastian.thiel@icloud.com>
1 parent 52485a9 commit 0396152

256 files changed

Lines changed: 1337 additions & 78 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.config/nextest.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
1+
[profile.default]
2+
# it doesn't scale for me on macOS at least :/
3+
test-threads = 6
4+
fail-fast = false
5+
16
[profile.with-xml.junit]
27
path = "junit.xml"

gix-actor/fuzz/.gitignore

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

gix-actor/fuzz/Cargo.toml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[package]
2+
name = "gix-actor-fuzz"
3+
version = "0.0.0"
4+
publish = false
5+
edition = "2021"
6+
7+
[package.metadata]
8+
cargo-fuzz = true
9+
10+
[dependencies]
11+
libfuzzer-sys = "0.4"
12+
13+
[dependencies.gix-actor]
14+
path = ".."
15+
16+
[workspace]
17+
members = ["."]
18+
19+
[profile.release]
20+
debug = 1
21+
22+
[[bin]]
23+
name = "actors"
24+
path = "fuzz_targets/actors.rs"
25+
test = false
26+
doc = false
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Sebastian Thiel <byronimo@gmail.com>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
First Last<<fl <First Last<fl@openoffice.org >> >
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#![no_main]
2+
3+
use gix_actor::{IdentityRef, Signature, SignatureRef};
4+
use libfuzzer_sys::fuzz_target;
5+
use std::hint::black_box;
6+
7+
fn inspect_identity(identity: IdentityRef<'_>) {
8+
_ = black_box(identity.trim());
9+
_ = black_box(identity.to_owned());
10+
let mut out = Vec::new();
11+
_ = black_box(identity.write_to(&mut out));
12+
_ = black_box(out);
13+
}
14+
15+
fn inspect_signature(signature: SignatureRef<'_>) {
16+
_ = black_box(signature.trim());
17+
_ = black_box(signature.actor());
18+
_ = black_box(signature.seconds());
19+
_ = black_box(signature.time());
20+
_ = black_box(signature.to_owned());
21+
let mut out = Vec::new();
22+
_ = black_box(signature.write_to(&mut out));
23+
_ = black_box(out);
24+
}
25+
26+
fuzz_target!(|input: &[u8]| {
27+
if let Ok(identity) = IdentityRef::from_bytes::<()>(input) {
28+
inspect_identity(identity);
29+
}
30+
if let Ok(signature) = SignatureRef::from_bytes::<()>(input) {
31+
inspect_signature(signature);
32+
}
33+
});

gix-attributes/fuzz/.gitignore

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
11
target
22
corpus
3-
artifacts
43
coverage
5-
6-
# These usually involve a lot of local CPU time, keep them.
7-
$artifacts
8-
$corpus

gix-bitmap/fuzz/.gitignore

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

gix-bitmap/fuzz/Cargo.toml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[package]
2+
name = "gix-bitmap-fuzz"
3+
version = "0.0.0"
4+
publish = false
5+
edition = "2021"
6+
7+
[package.metadata]
8+
cargo-fuzz = true
9+
10+
[dependencies]
11+
libfuzzer-sys = "0.4"
12+
13+
[dependencies.gix-bitmap]
14+
path = ".."
15+
16+
[workspace]
17+
members = ["."]
18+
19+
[profile.release]
20+
debug = 1
21+
22+
[[bin]]
23+
name = "ewah"
24+
path = "fuzz_targets/ewah.rs"
25+
test = false
26+
doc = false

0 commit comments

Comments
 (0)