Commit e021f4b2 authored by Victor Stinner's avatar Victor Stinner

Recorded merge of revisions 81500-81501 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81500 | victor.stinner | 2010-05-24 23:33:24 +0200 (lun., 24 mai 2010) | 2 lines

  Issue #6662: Fix parsing of malformatted charref (&#bad;)
........
  r81501 | victor.stinner | 2010-05-24 23:37:28 +0200 (lun., 24 mai 2010) | 2 lines

  Add the author of the last fix (Issue #6662)
........
parent ec883dba
...@@ -175,6 +175,9 @@ class HTMLParser(_markupbase.ParserBase): ...@@ -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)
......
...@@ -136,6 +136,13 @@ text ...@@ -136,6 +136,13 @@ text
("data", "\n"), ("data", "\n"),
]) ])
def test_malformatted_charref(self):
self._run_check("<p>&#bad;</p>", [
("starttag", "p", []),
("data", "&#bad;"),
("endtag", "p"),
])
def test_unclosed_entityref(self): def test_unclosed_entityref(self):
self._run_check("&entityref foo", [ self._run_check("&entityref foo", [
("entityref", "entityref"), ("entityref", "entityref"),
......
...@@ -871,3 +871,4 @@ Siebren van der Zee ...@@ -871,3 +871,4 @@ Siebren van der Zee
Uwe Zessin Uwe Zessin
Tarek Ziadé Tarek Ziadé
Peter Åstrand Peter Åstrand
Fredrik Håård
...@@ -392,6 +392,9 @@ C-API ...@@ -392,6 +392,9 @@ C-API
Library Library
------- -------
- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
Fredrik Håård
- Issue #8540: Decimal module: rename the Context._clamp attribute to - Issue #8540: Decimal module: rename the Context._clamp attribute to
Context.clamp and make it public. This is useful in creating Context.clamp and make it public. This is useful in creating
contexts that correspond to the decimal interchange formats contexts that correspond to the decimal interchange formats
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment