49 lines
1.4 KiB
TOML
49 lines
1.4 KiB
TOML
[package]
|
|
name = "midi-harbor-fuzz"
|
|
description = "cargo-fuzz targets for every parser that reads bytes from a peer"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
publish = false
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
# Its own workspace, because libFuzzer needs a nightly compiler and sanitizer flags that must not
|
|
# leak into the gates the real workspace runs on stable. None of those gates builds these targets,
|
|
# so after changing a parser, or any API a target calls, run from this directory:
|
|
#
|
|
# cargo +nightly fuzz build
|
|
# cargo +nightly fuzz run blemidi_codec -- -max_total_time=300
|
|
#
|
|
# and likewise rtpmidi_packet and rtpmidi_journal. Leave -rss_limit_mb at its default: libFuzzer
|
|
# itself settles near 480 MB here, so a lower limit reports an out-of-memory no input caused.
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[dependencies]
|
|
allocation-counter = "0.8"
|
|
libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] }
|
|
midi-harbor-blemidi = { path = "../crates/blemidi" }
|
|
midi-harbor-core = { path = "../crates/core" }
|
|
midi-harbor-rtpmidi = { path = "../crates/rtpmidi" }
|
|
|
|
[[bin]]
|
|
name = "blemidi_codec"
|
|
path = "fuzz_targets/blemidi_codec.rs"
|
|
test = false
|
|
doc = false
|
|
bench = false
|
|
|
|
[[bin]]
|
|
name = "rtpmidi_packet"
|
|
path = "fuzz_targets/rtpmidi_packet.rs"
|
|
test = false
|
|
doc = false
|
|
bench = false
|
|
|
|
[[bin]]
|
|
name = "rtpmidi_journal"
|
|
path = "fuzz_targets/rtpmidi_journal.rs"
|
|
test = false
|
|
doc = false
|
|
bench = false
|