[twsocket] FIX for bug in HdrEncodeInline and/or StrEncodeQPEx !!

2012-10-17 Thread Max Terentiev
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


Re: [twsocket] FIX for bug in HdrEncodeInline and/or StrEncodeQPEx !!

2012-10-17 Thread Arno Garrels
Max Terentiev wrote:
 I fixed a bug in the HdrEncodeInline-StrEncodeQPEx wrote about
 yesterday. 

Hello Max,

Many thanks for this, I just checked in your fix in both SVN repos,
v7 and v8. So next daily snapshots will include your fix.

-- 
Arno
--
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