From ab0626db2a60f4f22b97ece310d92038b3da5cc1 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Mon, 2 Sep 2019 13:01:06 -0400 Subject: Avoid a crash when trying to detect the declared encoding of a Unicode document. Raise an explanatory exception when the underlying parser completely rejects the incoming markup. [bug=1838877] --- bs4/builder/_lxml.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bs4/builder/_lxml.py') diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py index 85be1b5..ea66d8b 100644 --- a/bs4/builder/_lxml.py +++ b/bs4/builder/_lxml.py @@ -175,7 +175,7 @@ class LXMLTreeBuilderForXML(TreeBuilder): self.parser.feed(data) self.parser.close() except (UnicodeDecodeError, LookupError, etree.ParserError), e: - raise ParserRejectedMarkup(str(e)) + raise ParserRejectedMarkup(e) def close(self): self.nsmaps = [self.DEFAULT_NSMAPS_INVERTED] @@ -294,7 +294,7 @@ class LXMLTreeBuilder(HTMLTreeBuilder, LXMLTreeBuilderForXML): self.parser.feed(markup) self.parser.close() except (UnicodeDecodeError, LookupError, etree.ParserError), e: - raise ParserRejectedMarkup(str(e)) + raise ParserRejectedMarkup(e) def test_fragment_to_document(self, fragment): -- cgit v1.2.3