Coverage Report

Created: 2025-09-27 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/regex/fuzz/fuzz_targets/ast_fuzz_regex.rs
Line
Count
Source
1
#![no_main]
2
3
use {
4
    libfuzzer_sys::fuzz_target, regex::RegexBuilder, regex_syntax::ast::Ast,
5
};
6
7
#[derive(Eq, PartialEq, arbitrary::Arbitrary)]
8
struct FuzzData {
9
    ast: Ast,
10
}
11
12
impl std::fmt::Debug for FuzzData {
13
0
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14
0
        let mut builder = f.debug_struct("FuzzData");
15
0
        builder.field("ast", &format!("{}", self.ast));
16
0
        builder.finish()
17
0
    }
18
}
19
20
fuzz_target!(|data: FuzzData| {
21
    let _ = env_logger::try_init();
22
23
    let pattern = format!("{}", data.ast);
24
    RegexBuilder::new(&pattern).size_limit(1 << 20).build().ok();
25
});