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,11 +1559,16 @@ fn parse_internal_command(
if error.is_none() {
error = err;
}
} else if error.is_none() {
error = Some(ParseError::argument_error(
lite_cmd.parts[0].clone(),
ArgumentError::MissingValueForName(full_name.to_owned()),
));
} else {
if error.is_none() {
error = Some(ParseError::argument_error(
lite_cmd.parts[0].clone(),
ArgumentError::MissingValueForName(
full_name.to_owned(),
),
));
}
break;
}
}
}