diff options
| -rw-r--r-- | src/tools/jsondocck/src/main.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/tools/jsondocck/src/main.rs b/src/tools/jsondocck/src/main.rs index 29131f686a9..6ec292aba64 100644 --- a/src/tools/jsondocck/src/main.rs +++ b/src/tools/jsondocck/src/main.rs @@ -149,7 +149,22 @@ fn get_commands(template: &str) -> Result<Vec<Command>, ()> { } } - let args = cap.name("args").map_or(vec![], |m| shlex::split(m.as_str()).unwrap()); + let args = cap.name("args").map_or(Some(vec![]), |m| shlex::split(m.as_str())); + + let args = match args { + Some(args) => args, + None => { + print_err( + &format!( + "Invalid arguments to shlex::split: `{}`", + cap.name("args").unwrap().as_str() + ), + lineno, + ); + errors = true; + continue; + } + }; if !cmd.validate(&args, commands.len(), lineno) { errors = true; |
