diff --git a/kmreaderwin.cpp b/kmreaderwin.cpp index 7c0b16b98..d73aff1b1 100644 --- a/kmreaderwin.cpp +++ b/kmreaderwin.cpp @@ -534,12 +534,15 @@ const QString KMReaderWin::strToHtml(const QString aStr, bool aDecodeQP, } else if (ch=='@') { + char *startofstring = qpstr.data(); char *startpos = pos; - for (i=0; *pos && (isalnum(*pos) || *pos=='@' || *pos=='.' || - *pos=='_'||*pos=='-' || *pos=='*' || *pos=='[' || *pos==']') + for (i=0; pos >= startofstring && *pos + && (isalnum(*pos) + || *pos=='@' || *pos=='.' || *pos=='_'||*pos=='-' + || *pos=='*' || *pos=='[' || *pos==']') && i<255; i++, pos--) - { - } + { + } i1 = i; pos++; for (i=0; *pos && (isalnum(*pos)||*pos=='@'||*pos=='.'||