patches/gcc/2.95.3/deque-leak-fix.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/2.95.3/deque-leak-fix.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,31 @@
     1.4 +[See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ]
     1.5 +
     1.6 +Date: Fri, 16 Nov 2001 16:06:22 -0500
     1.7 +From: Phil Edwards <pedwards at disaster dot jaj dot com>
     1.8 +To: gcc-patches at gcc dot gnu dot org
     1.9 +Subject: [libstdc++ trunk & 3.0]  Fix deque memory leak
    1.10 +Message-ID: <20011116160622.A23094@disaster.jaj.com>
    1.11 +
    1.12 +
    1.13 +As discussed on the libstdc++ mailing list.  Tested on i686/linux.
    1.14 +
    1.15 +
    1.16 +
    1.17 +2001-11-16  Paolo Carlini  <pcarlini@unitus.it>
    1.18 +
    1.19 +	* include/bits/stl_deque.h (deque::erase()):  Fix memory leak.
    1.20 +
    1.21 +
    1.22 +[rediffed against 2.95.3 -- dank]
    1.23 +
    1.24 +--- gcc-2.95.3/libstdc++/stl/stl_deque.h.old	2001-01-01 09:48:22.000000000 -0800
    1.25 ++++ gcc-2.95.3/libstdc++/stl/stl_deque.h	2006-02-18 15:24:17.000000000 -0800
    1.26 +@@ -1052,7 +1052,7 @@
    1.27 +       copy_backward(_M_start, __first, __last);
    1.28 +       iterator __new_start = _M_start + __n;
    1.29 +       destroy(_M_start, __new_start);
    1.30 +-      _M_destroy_nodes(__new_start._M_node, _M_start._M_node);
    1.31 ++      _M_destroy_nodes(_M_start._M_node, __new_start._M_node);  /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */
    1.32 +       _M_start = __new_start;
    1.33 +     }
    1.34 +     else {