THRIFT-5015 WinHTTP QueryDataAvailable cannot be used to retrieve total response size
Client: Delphi
Patch: Jens Geyer
diff --git a/lib/delphi/src/Thrift.Transport.pas b/lib/delphi/src/Thrift.Transport.pas
index a3476bf..7695b22 100644
--- a/lib/delphi/src/Thrift.Transport.pas
+++ b/lib/delphi/src/Thrift.Transport.pas
@@ -1308,6 +1308,9 @@
len : Integer;
data_len : Integer;
begin
+ if not IsOpen
+ then raise TTransportExceptionNotOpen.Create('not open');
+
len := FWriteBuffer.Size;
SetLength( buf, len);
if len > 0 then begin
@@ -1342,7 +1345,7 @@
procedure TFramedTransportImpl.InitWriteBuffer;
const DUMMY_HEADER : TFramedHeader = 0;
begin
- FWriteBuffer.Free;
+ FreeAndNil( FWriteBuffer);
FWriteBuffer := TMemoryStream.Create;
TAccessMemoryStream(FWriteBuffer).Capacity := 1024;
FWriteBuffer.Write( DUMMY_HEADER, SizeOf(DUMMY_HEADER));