fix: panic! during parsing (#4107)

Typing `selector -qa` into nu would cause a `panic!`
This was the case because the inner loop incremented the `idx`
that was only checked in the outer loop and used it to index into
`lite_cmd.parts[idx]`
With the fix we now break loop.

Co-authored-by: ahkrr <alexhk@protonmail.com>
This commit is contained in:
ahkrr 2021-11-05 09:46:46 +01:00 committed by GitHub
parent df6a53f52e
commit 649b3804c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1559,12 +1559,17 @@ fn parse_internal_command(
if error.is_none() { if error.is_none() {
error = err; error = err;
} }
} else if error.is_none() { } else {
if error.is_none() {
error = Some(ParseError::argument_error( error = Some(ParseError::argument_error(
lite_cmd.parts[0].clone(), lite_cmd.parts[0].clone(),
ArgumentError::MissingValueForName(full_name.to_owned()), ArgumentError::MissingValueForName(
full_name.to_owned(),
),
)); ));
} }
break;
}
} }
} }
NamedType::Switch(_) => { NamedType::Switch(_) => {