It is rather strange Delphi compiler does not give error on this! C compiler would I think.
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