summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2017-09-16 10:40:01 +0200
committerDavid Tardon <dtardon@redhat.com>2017-09-16 10:40:01 +0200
commitd02012b1c9ce8dfa22a80790cde2f5d2bdd66455 (patch)
treea5ddeae03ceafa2ad2fce549c790210766a9caba
parentcae8723485ba227951cd9961a2d5ecfbcae08acc (diff)
cid#1417723 sanitize loop bound
Change-Id: Ic7596aa673a2cb7e702566b246437b42526173ac
-rw-r--r--src/lib/FHParser.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/FHParser.cpp b/src/lib/FHParser.cpp
index 1a52cd9..c0d7c2a 100644
--- a/src/lib/FHParser.cpp
+++ b/src/lib/FHParser.cpp
@@ -1311,6 +1311,8 @@ void libfreehand::FHParser::readLinePat(librevenge::RVNGInputStream *input, libf
}
input->seek(8, librevenge::RVNG_SEEK_CUR);
FHLinePattern pattern;
+ if (numStrokes > getRemainingLength(input) / 4)
+ numStrokes = getRemainingLength(input) / 4;
pattern.m_dashes.resize(size_t(numStrokes));
for (unsigned short i=0; i<numStrokes; ++i)
pattern.m_dashes[size_t(i)]=_readCoordinate(input);