From 7062aabbcbb98bdeacda94071111f0fcc13a918d Mon Sep 17 00:00:00 2001 From: Benjamin Li Date: Wed, 24 Oct 2018 16:46:20 -0400 Subject: Fix off-by-one error with HTML escaping If the second-to-last character of a string should be escaped, but not the last, the last character was not being included in the result. --- askama_shared/src/escaping.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/askama_shared/src/escaping.rs b/askama_shared/src/escaping.rs index e22e0ce..93545fd 100644 --- a/askama_shared/src/escaping.rs +++ b/askama_shared/src/escaping.rs @@ -96,7 +96,7 @@ pub fn escape(s: String) -> String { _ => panic!("incorrect indexing"), } } - if start < bytes.len() - 1 { + if start < bytes.len() { res.extend(&bytes[start..]); } @@ -112,5 +112,6 @@ mod tests { assert_eq!(escape("<&>".to_string()), "<&>"); assert_eq!(escape("bla&".to_string()), "bla&"); assert_eq!(escape("