yann@402: [See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ] yann@402: yann@402: Date: Fri, 16 Nov 2001 16:06:22 -0500 yann@402: From: Phil Edwards yann@402: To: gcc-patches at gcc dot gnu dot org yann@402: Subject: [libstdc++ trunk & 3.0] Fix deque memory leak yann@402: Message-ID: <20011116160622.A23094@disaster.jaj.com> yann@402: yann@402: yann@402: As discussed on the libstdc++ mailing list. Tested on i686/linux. yann@402: yann@402: yann@402: yann@402: 2001-11-16 Paolo Carlini yann@402: yann@402: * include/bits/stl_deque.h (deque::erase()): Fix memory leak. yann@402: yann@402: yann@402: [rediffed against 2.95.3 -- dank] yann@402: yann@402: --- gcc-2.95.3/libstdc++/stl/stl_deque.h.old 2001-01-01 09:48:22.000000000 -0800 yann@402: +++ gcc-2.95.3/libstdc++/stl/stl_deque.h 2006-02-18 15:24:17.000000000 -0800 yann@402: @@ -1052,7 +1052,7 @@ yann@402: copy_backward(_M_start, __first, __last); yann@402: iterator __new_start = _M_start + __n; yann@402: destroy(_M_start, __new_start); yann@402: - _M_destroy_nodes(__new_start._M_node, _M_start._M_node); yann@402: + _M_destroy_nodes(_M_start._M_node, __new_start._M_node); /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */ yann@402: _M_start = __new_start; yann@402: } yann@402: else {