Fix a panic when parsing var patterns

This commit is contained in:
Nick Fitzgerald
2021-09-28 16:27:59 -07:00
committed by Chris Fallin
parent f2b6244b9c
commit e3aeb850b2
5 changed files with 52 additions and 31 deletions

View File

@@ -9,8 +9,10 @@ edition = "2018"
cargo-fuzz = true
[dependencies]
env_logger = { version = "0.9.0", default-features = false }
isle = { path = "../isle" }
libfuzzer-sys = "0.4"
log = "0.4.14"
[[bin]]
name = "parse"

View File

@@ -3,8 +3,15 @@
use libfuzzer_sys::fuzz_target;
fuzz_target!(|s: &str| {
if let Ok(lexer) = isle::lexer::Lexer::from_str(s, "fuzz-input.isle") {
let _ = env_logger::try_init();
let lexer = isle::lexer::Lexer::from_str(s, "fuzz-input.isle");
log::debug!("lexer = {:?}", lexer);
if let Ok(lexer) = lexer {
let mut parser = isle::parser::Parser::new(lexer);
let _ = parser.parse_defs();
let defs = parser.parse_defs();
log::debug!("defs = {:?}", defs);
}
});