avoid lrf metadata read failure on malformed meta blocks

This commit is contained in:
Kovid Goyal 2021-10-12 15:53:22 +05:30
parent d8c118cbb4
commit 8bc11e1d91
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -20,6 +20,7 @@ import xml.dom.minidom as dom
from functools import wraps
from calibre.ebooks.chardet import xml_to_unicode
from calibre.utils.cleantext import clean_xml_chars
from calibre.ebooks.metadata import MetaInformation, string_to_authors
from polyglot.builtins import unicode_type, string_or_bytes
@ -400,7 +401,7 @@ class LRFMetaFile:
yielded unexpected results")
src = xml_to_unicode(src, strip_encoding_pats=True, resolve_entities=True, assume_utf8=True)[0]
return dom.parseString(src)
return dom.parseString(clean_xml_chars(src))
except zlib.error:
raise LRFException("Unable to decompress document meta information")