| #![no_main] | |
| use libfuzzer_sys::fuzz_target; | |
| use std::fmt::Write; | |
| fuzz_target!(|data: &str| { | |
| let mut s = String::new(); | |
| let sym = rustc_demangle::demangle(data); | |
| drop(write!(s, "{}", sym)); | |
| s.truncate(0); | |
| if let Ok(sym) = rustc_demangle::try_demangle(data) { | |
| drop(write!(s, "{}", sym)); | |
| } | |
| let mut output = Vec::new(); | |
| drop(rustc_demangle::demangle_stream( | |
| &mut s.as_bytes(), | |
| &mut output, | |
| true, | |
| )); | |
| output.clear(); | |
| drop(rustc_demangle::demangle_stream( | |
| &mut s.as_bytes(), | |
| &mut output, | |
| false, | |
| )); | |
| }); |