From 00300bb24d8b0c1b6178ac5a45d405107a84fe5d Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 16 Mar 2020 13:16:59 +1000 Subject: [PATCH] ensure rated ease in range --- rslib/src/search/parser.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rslib/src/search/parser.rs b/rslib/src/search/parser.rs index e102070a2..74101ba56 100644 --- a/rslib/src/search/parser.rs +++ b/rslib/src/search/parser.rs @@ -279,11 +279,19 @@ fn parse_flag(s: &str) -> ParseResult> { } /// eg rated:3 or rated:10:2 +/// second arg must be between 1-4 fn parse_rated(val: &str) -> ParseResult> { let mut it = val.splitn(2, ':'); let days = it.next().unwrap().parse()?; let ease = match it.next() { - Some(v) => Some(v.parse()?), + Some(v) => { + let n: u8 = v.parse()?; + if n < 5 && n > 0 { + Some(n) + } else { + return Err(ParseError {}); + } + } None => None, };