diff --git a/docs/changelog.md b/docs/changelog.md index 9f972a35..0b00d9df 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -13,6 +13,7 @@ See the [Contributing Guide](contributing.md) for details. ### Fixed +* Ensure incomplete markup declaration in raw HTML doesn't crash parser (#1534). * Fixed dropped content in `md_in_html` (#1526). * Fixed HTML handling corner case that prevented some content from not being rendered (#1528). diff --git a/markdown/extensions/md_in_html.py b/markdown/extensions/md_in_html.py index ba73c942..5256e904 100644 --- a/markdown/extensions/md_in_html.py +++ b/markdown/extensions/md_in_html.py @@ -280,6 +280,10 @@ def parse_pi(self, i: int) -> int: def parse_html_declaration(self, i: int) -> int: if self.at_line_start() or self.intail or self.mdstack: + if self.rawdata[i:i+3] == ' int: def parse_html_declaration(self, i: int) -> int: if self.at_line_start() or self.intail: + if self.rawdata[i:i+3] == '<![

' + ) + def test_raw_cdata_code_span(self): self.assertMarkdownRenders( self.dedent(