diff options
-rw-r--r-- | src/lib/FHParser.cpp | 2 |
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) |