diff --git a/libmat2/web.py b/libmat2/web.py index b77020092c879d1574639a2549a40c690f04c571..75633a38fcb5b3c6b15f65b038f0b2b1d4712d7b 100644 --- a/libmat2/web.py +++ b/libmat2/web.py @@ -96,6 +96,15 @@ class _HTMLParser(parser.HTMLParser): self.tag_required_blocklist = required_blocklisted_tags self.tag_blocklist = blocklisted_tags + def error(self, msg): + """ Amusingly, Python's documentation doesn't mention that this + function needs to be implemented in subclasses of the parent class + of parser.HTMLParser. This was found by fuzzing, + triggering the following exception: + NotImplementedError: subclasses of ParserBase must override error() + """ + raise ValueError(msg) + def handle_starttag(self, tag: str, attrs: List[Tuple[str, Optional[str]]]): # Ignore the type, because mypy is too stupid to infer # that get_starttag_text() can't return None.