Fastream Technologies wrote: > It is rather strange Delphi compiler does not give error on this! C > compiler would I think.
It effects SOCKS connections only. It isn't a compiler specific bug but timing related. The buggy code wasn't called at all until I set a break point in TCustomSocksWSocket.TriggerDataAvailable, tested with TSmtpCli. That's probably why nobody hit it before. I applied the posted fix to the source base of both V6 and V7. It will be available with the next nightly built snapshot downloadable at: http://wiki.overbyte.be/wiki/index.php/FAQ#How_to_get_ICS -- Arno Garrels > > On Sun, Nov 1, 2009 at 12:29 PM, Max Terentiev <maxterent...@mail.ru> > wrote: > >> Hi Arno, >> >> Yes, it's helps ! But I will perform some heavy tests for sure... >> >> Thanx for the fix !!! >> >> >> --- >> With best regards, Max Terentiev. >> Business Software Products. >> AMS Development Team. >> supp...@bspdev.com >> >> >> ----- Original Message ----- From: "Arno Garrels" >> <arno.garr...@gmx.de> To: "ICS support mailing" <twsocket@elists.org> >> Sent: Sunday, November 01, 2009 12:01 PM >> Subject: Re: [twsocket] Serious bug in TWSocket (AV or >> bufferoverflow)Pleasehelp ! >> >> >> >> Hello Max, >>> >>> I was able to reproduce the AV! >>> Please try this change: >>> >>> function TCustomSocksWSocket.DoRecv() >>> [..] >>> {$IFDEF WIN32} >>> //Move(FRcvBuf[FSocksRcvdPtr], Buffer, FSocksRcvdCnt); // ==> >>> Move(FRcvBuf[FSocksRcvdPtr], Buffer^, FSocksRcvdCnt); // <== >>> {$ENDIF} >>> Result := FSocksRcvdCnt; >>> FSocksRcvdCnt := 0; >>> Exit; >>> end; >>> { User buffer is smaller, copy as much as possible } >>> {$IFDEF CLR} >>> for I := 0 to BufferSize - 1 do >>> Buffer[I] := FRcvBuf[FSocksRcvdPtr + I]; >>> {$ENDIF} >>> {$IFDEF WIN32} >>> //Move(FRcvBuf[FSocksRcvdPtr], Buffer, BufferSize); // ==> >>> Move(FRcvBuf[FSocksRcvdPtr], Buffer^, BufferSize); // <== >>> {$ENDIF} >>> >>> Does that help? >>> >>> -- >>> Arno Garrels >>> >>> >>> -- >>> 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 >>> >>> >> -- >> 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 -- 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