# Coverage-guided fuzzing of the reader: the envelope and manifest parsers, the integer # payload parsers against the committed parameter sets, every media decoder, and the # extension containers. # `run.sh` builds the seed corpora and runs each target; see the header there. [package] name = "wai-fuzz" version = "0.0.0" edition = "2024" publish = false [package.metadata] cargo-fuzz = true [dependencies] libfuzzer-sys = "0.4" serde_json = "1" wai = { path = "..", features = ["codecs", "video_int", "audio_int", "splat_int", "world", "film", "score", "haptic", "splat4d", "audio_scene"] } # A workspace of its own: cargo-fuzz builds with sanitizer and coverage flags that # wai-rs's own builds must not share. [workspace] members = ["."] [lib] path = "src/lib.rs" [[bin]] name = "envelope" path = "fuzz_targets/envelope.rs" test = false doc = false bench = false [[bin]] name = "int_payload" path = "fuzz_targets/int_payload.rs" test = false doc = false bench = false [[bin]] name = "media" path = "fuzz_targets/media.rs" test = false doc = false bench = false [[bin]] name = "containers" path = "fuzz_targets/containers.rs" test = false doc = false bench = false # Writes the seed corpora (run.sh runs it); not a fuzz target. [[bin]] name = "seeds" path = "src/bin/seeds.rs" test = false doc = false bench = false [profile.release] debug = 1