diff --git a/src/string.hh b/src/string.hh index 74fbb51a..be140888 100644 --- a/src/string.hh +++ b/src/string.hh @@ -231,7 +231,9 @@ inline StringView StringOps::substr(ByteCount from, ByteCount le { if (length < 0) length = INT_MAX; - return StringView{ type().data() + (int)from, std::min(type().length() - from, length) }; + const auto str_len = type().length(); + kak_assert(from >= 0 and from <= str_len); + return StringView{ type().data() + (int)from, std::min(str_len - from, length) }; } template