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