Hi All, I fixed a bug in the HdrEncodeInline->StrEncodeQPEx wrote about yesterday.
Problem happens with 'Q' encoding if input strings contain to many spaces (more than MaxCol parameter). So, here: if (Buf[cPos] = ' ') and ShortSpace then begin Result[lPosRes] := '_'; Inc(lPosRes); Inc(cPos); end We write outside bounds set at beginning of function: SetLength(Result, MaxCol); Because number of spaces in input string may be larger than MaxCol ! To fix problem - this line (number 2064 in OverbyteIcsMimeUtils.pas): if (Buf[cPos] = ' ') and ShortSpace then begin must be replaced with if (Buf[cPos] = ' ') and (lPosRes < MaxCol) and ShortSpace then begin I also check latest ICS V8 code and this problem is NOT fixed here ! So, you should apply this fix to both V7 and V8. --- With best regards, Max Terentiev. Business Software Products. AMS Development Team. supp...@bspdev.com -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be