From ce7ab28cfa5d80ebe44623185713fb2e732d629e Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 4 Sep 2020 14:33:29 +0200 Subject: [PATCH] tools/systemd/parse_time: error out on invalid ranges if the range is reverse (bigger..smaller) we will never find a value, so error out during parsing Signed-off-by: Dominik Csapak --- src/tools/systemd/parse_time.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/tools/systemd/parse_time.rs b/src/tools/systemd/parse_time.rs index 93657b21..051c4968 100644 --- a/src/tools/systemd/parse_time.rs +++ b/src/tools/systemd/parse_time.rs @@ -145,6 +145,9 @@ fn parse_date_time_comp(max: usize) -> impl Fn(&str) -> IResult<&str, DateTimeVa let (i, value) = parse_time_comp(max)(i)?; if let (i, Some(end)) = opt(preceded(tag(".."), parse_time_comp(max)))(i)? { + if value > end { + return Err(parse_error(i, "range start is bigger than end")); + } return Ok((i, DateTimeValue::Range(value, end))) } -- 2.39.2