Re: [Boost-bugs] [Boost C++ Libraries] #2735: Memory corruption

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