Commit 0bf56ff2 authored by Nick Mathewson's avatar Nick Mathewson 🥔
Browse files

netdoc: Add fuzzing support for parse2 with authcert, mds

parent 22090727
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
#![no_main]
use libfuzzer_sys::fuzz_target;
use tor_netdoc::doc::authcert::AuthCert;
use tor_netdoc::doc::authcert::{AuthCert, AuthCertUnverified};
use tor_netdoc::parse2::{parse_netdoc_multiple, ParseInput};

fuzz_target!(|data: &str| {
    if let Ok(certs) = AuthCert::parse_multiple(data) {
        for _ in certs {}
    }

    let input = ParseInput::new(data, "<none>");
    let _ = parse_netdoc_multiple::<AuthCertUnverified>(&input);
});
+5 −1
Original line number Diff line number Diff line
#![no_main]
use libfuzzer_sys::fuzz_target;
use tor_netdoc::doc::microdesc::MicrodescReader;
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 {
@@ -13,4 +14,7 @@ fuzz_target!(|data: (bool, &str)| {
    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);
});