Boost C++ Libraries: Ticket #189: tss::set(0) leads to double-free https://svn.boost.org/trac10/ticket/189 <pre class="wiki">This bug only occurs on non-pthreads platforms such as Win32 where no automatic destructor is available. I declared a variable: boost::thread_specific_ptr&lt;X&gt; pX; and initialized it: pX.reset(new X); Later, I did pX.reset(); Subsequently, when pX went out of scope, it tried to delete the X instance again. It's easy to see why. tss::set checks if (value &amp;&amp; m_cleanup) { update cleanup handler table } So if value is NULL, the original cleanup handler is left lying around. </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/189 Trac 1.4.3 perfecthash Thu, 25 Nov 2004 21:51:19 GMT status changed https://svn.boost.org/trac10/ticket/189#comment:1 https://svn.boost.org/trac10/ticket/189#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> <pre class="wiki">Logged In: YES user_id=173374 Looks like this got fixed in Boost 1.32, thanks! </pre> Ticket