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

Reply via email to