mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
Issue #6662: Fix parsing of malformatted charref (&#bad;)
This commit is contained in:
parent
f0757a2937
commit
554a3b82e4
3 changed files with 12 additions and 0 deletions
|
@ -175,6 +175,9 @@ class HTMLParser(markupbase.ParserBase):
|
||||||
i = self.updatepos(i, k)
|
i = self.updatepos(i, k)
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
|
if ";" in rawdata[i:]: #bail by consuming &#
|
||||||
|
self.handle_data(rawdata[0:2])
|
||||||
|
i = self.updatepos(i, 2)
|
||||||
break
|
break
|
||||||
elif startswith('&', i):
|
elif startswith('&', i):
|
||||||
match = entityref.match(rawdata, i)
|
match = entityref.match(rawdata, i)
|
||||||
|
|
|
@ -313,6 +313,13 @@ DOCTYPE html [
|
||||||
("starttag", "html", [("foo", u"\u20AC&aa&unsupported;")])
|
("starttag", "html", [("foo", u"\u20AC&aa&unsupported;")])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_malformatted_charref(self):
|
||||||
|
self._run_check("<p>&#bad;</p>", [
|
||||||
|
("starttag", "p", []),
|
||||||
|
("data", "&#bad;"),
|
||||||
|
("endtag", "p"),
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
test_support.run_unittest(HTMLParserTestCase)
|
test_support.run_unittest(HTMLParserTestCase)
|
||||||
|
|
|
@ -29,6 +29,8 @@ C-API
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #6662: Fix parsing of malformatted charref (&#bad;)
|
||||||
|
|
||||||
- Issue #8016: Add the CP858 codec.
|
- Issue #8016: Add the CP858 codec.
|
||||||
|
|
||||||
- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
|
- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue