Subject: Re: [Boost-bugs] [Boost C++ Libraries] #2735: Memory corruption
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-04-09 12:56:21
#2735: Memory corruption
----------------------------------------+-----------------------------------
Reporter: Lono <KHaiFeng_at_[hidden]> | Owner: chris_kohlhoff
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: asio
Version: Boost 1.37.0 | Severity: Problem
Resolution: worksforme | Keywords:
----------------------------------------+-----------------------------------
Changes (by chris_kohlhoff):
* status: new => closed
* resolution: => worksforme
Comment:
Unfortunately your patch is not correct, as you appear to have missed an
important detail in the MSDN page:
If *lpOverlapped is not NULL and the function dequeues
a completion packet for a failed I/O operation from the
completion port, the return value is zero.
That is, the fact that overlapped is non-null means that there is an
OVERLAPPED-derived object that needs to be deleted, it's just that it
happens to be for a failed operation. That it is deleting an "invalid"
object makes me suspect that your program (or asio) is deleting the
OVERLAPPED-derived object too early.
There isn't enough information here for me to determine if there is a bug
in asio. Using ConnectNamedPipe with asio appears to work correctly when I
try it following your instructions. Please reopen this bug if you can
provide more detailed instructions.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2735#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC