From 238e4bbad7712ccc3a3ea4a5b09c63bd147c692e Mon Sep 17 00:00:00 2001 From: René Kijewski Date: Thu, 28 Sep 2023 17:09:29 +0200 Subject: Limit nesting in parser nodes, too --- askama_parser/src/node.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'askama_parser/src/node.rs') diff --git a/askama_parser/src/node.rs b/askama_parser/src/node.rs index f25f25a..1909f6c 100644 --- a/askama_parser/src/node.rs +++ b/askama_parser/src/node.rs @@ -47,7 +47,7 @@ impl<'a> Node<'a> { } fn parse(i: &'a str, s: &State<'_>) -> IResult<&'a str, Self> { - let mut p = tuple(( + let mut p = delimited( |i| s.tag_block_start(i), alt(( map(Call::parse, Self::Call), @@ -65,9 +65,13 @@ impl<'a> Node<'a> { |i| Self::r#continue(i, s), )), cut(|i| s.tag_block_end(i)), - )); - let (i, (_, contents, _)) = p(i)?; - Ok((i, contents)) + ); + + s.nest(i)?; + let result = p(i); + s.leave(); + + result } fn r#break(i: &'a str, s: &State<'_>) -> IResult<&'a str, Self> { -- cgit