[ 
https://issues.apache.org/jira/browse/THRIFT-4485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-4485:
-------------------------------
    Description: 
If a read or write operation on pipes reaches the set timeout, the read/write 
operation is not properly cancelled. However, the overlapped struct gets freed 
when leaving the method, which essentially leaves the pending read or write 
operation with an undefined pointer. 

Easily reproducible with buffered transport over pipes, a combination that does 
not work at all anyways. The workaround for both problems is to not use 
buffered transport with pipes (use framed instead), and some sane tinemouts 
(not too short).

  was:
If a read or write operation on pipes reaches the set timeout, the read/write 
operation is not properly cancelled. However, the overlapped struct gets freed 
when leaving the method, which essentially leaves the pending read or write 
operation with an undefined pointer. 

Easily reproducible with buffered transport over pipes, a combination that does 
not work at all anyways. The workaround for both problems is to not use 
buffered transport with pipes, and some sane tinemouts (not too short).


> Possible invalid ptr AV with overlapped read/write on pipes
> -----------------------------------------------------------
>
>                 Key: THRIFT-4485
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4485
>             Project: Thrift
>          Issue Type: Bug
>          Components: Delphi - Library
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Critical
>
> If a read or write operation on pipes reaches the set timeout, the read/write 
> operation is not properly cancelled. However, the overlapped struct gets 
> freed when leaving the method, which essentially leaves the pending read or 
> write operation with an undefined pointer. 
> Easily reproducible with buffered transport over pipes, a combination that 
> does not work at all anyways. The workaround for both problems is to not use 
> buffered transport with pipes (use framed instead), and some sane tinemouts 
> (not too short).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to