[libstdc++ PATCH] Fix leak in _Rb_tree::_M_insert (stl_tree.h)

Earl Chew earl_chew@agilent.com
Fri Feb 25 19:41:00 GMT 2005


Earl Chew wrote:
> I'll re-run the test and post the results.

The test passes.

I've attached the revised diff.

Earl

--- stl_tree.h.orig	2004-12-12 08:14:30.000000000 -0800
+++ stl_tree.h	2005-02-25 10:39:33.000000000 -0800
@@ -778,13 +778,10 @@
      _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::
      _M_insert(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
      {
+      bool __insert_left = __x != 0 || __p == _M_end()
+			   || _M_impl._M_key_compare(_KeyOfValue()(__v),
+						     _S_key(__p));
        _Link_type __z = _M_create_node(__v);
-      bool __insert_left;
-
-      __insert_left = __x != 0 || __p == _M_end()
-	              || _M_impl._M_key_compare(_KeyOfValue()(__v),
-						_S_key(__p));
-
        _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
  				    this->_M_impl._M_header);
        ++_M_impl._M_node_count;



More information about the Libstdc++ mailing list