diff options
| -rw-r--r-- | indra/llui/lltextbase.cpp | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 61b67e346e..bb3ce49b8b 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -845,7 +845,14 @@ S32 LLTextBase::insertStringNoUndo(S32 pos, const LLWString &wstr, LLTextBase::s  	S32 old_len = getLength();		// length() returns character length  	S32 insert_len = wstr.length(); -	pos = getEditableIndex(pos, true); +    pos = getEditableIndex(pos, true); +    if (pos > old_len) +    { +        pos = old_len; +        // Should not happen, +        // if you encounter this, check where wrong position comes from +        llassert(false); +    }  	segment_set_t::iterator seg_iter = getEditableSegIterContaining(pos); | 
