[Libreoffice-commits] libmspub.git: 2 commits - src/lib
David Tardon
dtardon at redhat.com
Tue Nov 25 06:39:03 PST 2014
src/lib/MSPUBParser.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 0ab2f4869b5d5f43a3793ae7e556bd5825609552
Author: David Tardon <dtardon at 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 <dtardon at 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));
More information about the Libreoffice-commits
mailing list