aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/fuzz/fuzz_targets/mds.rs
blob: c351a69815147c38a9f2c7a0d5f8a8366a441742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#![no_main]
use libfuzzer_sys::fuzz_target;
use tor_netdoc::doc::microdesc::{Microdesc, MicrodescReader};
use tor_netdoc::AllowAnnotations;
use tor_netdoc::parse2::{parse_netdoc_multiple, ParseInput};

fuzz_target!(|data: (bool, &str)| {
    let allow = if data.0 {
        AllowAnnotations::AnnotationsAllowed
    } else {
        AllowAnnotations::AnnotationsNotAllowed
    };

    if let Ok(md) = MicrodescReader::new(data.1, &allow) {
        for _ in md {}
    }

    let input = ParseInput::new(data.1, "<none>");
    let _ignore = parse_netdoc_multiple::<Microdesc>(&input);
});