summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2017-09-16 10:35:41 +0200
committerDavid Tardon <dtardon@redhat.com>2017-09-16 10:35:41 +0200
commit99db282d016e6b642da6463d00447cbdbb6dbff0 (patch)
tree07964236ea1dd261adf8eb5dceaf6c6410d345a5
parent692a72d740642fb7fec7fc1af85d9b6a15c8f3be (diff)
cid#1306208 sanitize loop bound
Change-Id: I33d0013a193f4d9a2f92332cde71ce2d00bd02a4
-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 0959305..c439b9a 100644
--- a/src/lib/FHParser.cpp
+++ b/src/lib/FHParser.cpp
@@ -2382,6 +2382,8 @@ void libfreehand::FHParser::readUString(librevenge::RVNGInputStream *input, libf
long startPosition = input->tell();
unsigned short size = readU16(input);
unsigned short length = readU16(input);
+ if (length > getRemainingLength(input) / 2)
+ length = getRemainingLength(input) / 2;
std::vector<unsigned short> ustr;
unsigned short character = 0;
if (length)