src/lib/MSPUBParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 0ab2f4869b5d5f43a3793ae7e556bd5825609552 Author: David Tardon <dtar...@redhat.com> Date: Tue Nov 25 15:27:51 2014 +0100 do not dereference past-the-end iterator Change-Id: I93b300e79163c9fb6a6f32f937c75e6265f1c5b7 diff --git a/src/lib/MSPUBParser.cpp b/src/lib/MSPUBParser.cpp index 2797845..ee30d91 100644 --- a/src/lib/MSPUBParser.cpp +++ b/src/lib/MSPUBParser.cpp @@ -967,13 +967,13 @@ bool MSPUBParser::parseQuill(librevenge::RVNGInputStream *input) unsigned bytesRead = 0; std::vector<TextSpanReference>::iterator currentTextSpan = spans.begin(); std::vector<TextParagraphReference>::iterator currentTextPara = paras.begin(); - for (unsigned j = 0; j < textIDs.size() && j < textLengths.size() && currentTextPara != paras.end(); ++j) + for (unsigned j = 0; j < textIDs.size() && j < textLengths.size(); ++j) { MSPUB_DEBUG_MSG(("Parsing a text block.\n")); std::vector<TextParagraph> readParas; std::vector<TextSpan> readSpans; std::vector<unsigned char> text; - for (unsigned k = 0; k < textLengths[j] && currentTextSpan != spans.end(); ++k) + for (unsigned k = 0; k < textLengths[j] && currentTextPara != paras.end() && currentTextSpan != spans.end(); ++k) { text.push_back(readU8(input)); text.push_back(readU8(input)); commit b33edc1675cec963340466627973fba070d2747d Author: David Tardon <dtar...@redhat.com> Date: Tue Nov 25 15:22:30 2014 +0100 do not dereference past-the-end iterator Change-Id: Icef6e8a324f85c51c27dd03a03ca1c37e4b01bc1 diff --git a/src/lib/MSPUBParser.cpp b/src/lib/MSPUBParser.cpp index 091f2b5..2797845 100644 --- a/src/lib/MSPUBParser.cpp +++ b/src/lib/MSPUBParser.cpp @@ -967,13 +967,13 @@ bool MSPUBParser::parseQuill(librevenge::RVNGInputStream *input) unsigned bytesRead = 0; std::vector<TextSpanReference>::iterator currentTextSpan = spans.begin(); std::vector<TextParagraphReference>::iterator currentTextPara = paras.begin(); - for (unsigned j = 0; j < textIDs.size() && j < textLengths.size(); ++j) + for (unsigned j = 0; j < textIDs.size() && j < textLengths.size() && currentTextPara != paras.end(); ++j) { MSPUB_DEBUG_MSG(("Parsing a text block.\n")); std::vector<TextParagraph> readParas; std::vector<TextSpan> readSpans; std::vector<unsigned char> text; - for (unsigned k = 0; k < textLengths[j]; ++k) + for (unsigned k = 0; k < textLengths[j] && currentTextSpan != spans.end(); ++k) { text.push_back(readU8(input)); text.push_back(readU8(input)); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits