diff --git a/lib/Epub/Epub/hyphenation/Hyphenator.cpp b/lib/Epub/Epub/hyphenation/Hyphenator.cpp index b0f3eec7..c0fdb85e 100644 --- a/lib/Epub/Epub/hyphenation/Hyphenator.cpp +++ b/lib/Epub/Epub/hyphenation/Hyphenator.cpp @@ -1,6 +1,7 @@ #include "Hyphenator.h" #include +#include #include #include "HyphenationCommon.h" @@ -85,6 +86,8 @@ void appendSegmentPatternBreaks(const std::vector& cps, const Lan } for (const size_t idx : segIndexes) { + assert(idx > 0 && idx < segment.size()); + if (idx == 0 || idx >= segment.size()) continue; const size_t cpIdx = segStart + idx; if (cpIdx < cps.size()) { outBreaks.push_back({cps[cpIdx].byteOffset, true});