summaryrefslogtreecommitdiff
path: root/src/lib/FHParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/FHParser.cpp')
-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 93488c7..0a39273 100644
--- a/src/lib/FHParser.cpp
+++ b/src/lib/FHParser.cpp
@@ -139,6 +139,8 @@ void libfreehand::FHParser::parseDictionary(librevenge::RVNGInputStream *input)
void libfreehand::FHParser::parseRecordList(librevenge::RVNGInputStream *input)
{
unsigned count = readU32(input);
+ if (count > getRemainingLength(input) / 2)
+ count = getRemainingLength(input) / 2;
for (unsigned i = 0; i < count; ++i)
{
unsigned id = readU16(input);