Review Request 110719: fix KoXmlReader to break on error instead of trying on and on
Friedrich W. H. Kossebau
kossebau at kde.org
Thu May 30 00:54:37 BST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110719/
-----------------------------------------------------------
Review request for Calligra.
Description
-------
Words currently will hang with hot wheels on loading the file http://heap.kogmbh.net/vandenoever/tmp/yo.odt
Reason is that the condition to break the parsing is only testing if the end is officially reached. But as the API Dox of QXmlStreamReader::readNext() ( http://qt-project.org/doc/qt-4.8/qxmlstreamreader.html#readNext) tells "The exception is when error() returns PrematureEndOfDocumentError. This error is reported when the end of an otherwise well-formed chunk of XML is reached, but the chunk doesn't represent a complete XML document."
So also checking for !xml.hasError() seems needed.
Okay to backport to 2.7?
Now this bug was just uncovered because of another problem:
for some reason the file meta.xml seems to be not properly extracted from the odt, so this can be seen in the log (with this patch applied):
words(17718)/koffice (lib komain): Parsing error in "meta.xml" ! Aborting!
In line: 1 , column: 0
Error message: "Premature end of document."
Unzipping yo.odt with unzip shows that meta.xml has some proper looking content. So possibly our zip reading code has a bug. Needs to be investigated separately.
Diffs
-----
libs/odf/KoXmlReader.cpp b5fe9f8
Diff: http://git.reviewboard.kde.org/r/110719/diff/
Testing
-------
Thanks,
Friedrich W. H. Kossebau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130529/13dcd26e/attachment.htm>
More information about the calligra-devel
mailing list