yann@1
|
1 |
[See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ]
|
yann@1
|
2 |
|
yann@1
|
3 |
Date: Fri, 16 Nov 2001 16:06:22 -0500
|
yann@1
|
4 |
From: Phil Edwards <pedwards at disaster dot jaj dot com>
|
yann@1
|
5 |
To: gcc-patches at gcc dot gnu dot org
|
yann@1
|
6 |
Subject: [libstdc++ trunk & 3.0] Fix deque memory leak
|
yann@1
|
7 |
Message-ID: <20011116160622.A23094@disaster.jaj.com>
|
yann@1
|
8 |
|
yann@1
|
9 |
|
yann@1
|
10 |
As discussed on the libstdc++ mailing list. Tested on i686/linux.
|
yann@1
|
11 |
|
yann@1
|
12 |
|
yann@1
|
13 |
|
yann@1
|
14 |
2001-11-16 Paolo Carlini <pcarlini@unitus.it>
|
yann@1
|
15 |
|
yann@1
|
16 |
* include/bits/stl_deque.h (deque::erase()): Fix memory leak.
|
yann@1
|
17 |
|
yann@1
|
18 |
|
yann@1
|
19 |
[rediffed against 2.95.3 -- dank]
|
yann@1
|
20 |
|
yann@1
|
21 |
--- gcc-2.95.3/libstdc++/stl/stl_deque.h.old 2001-01-01 09:48:22.000000000 -0800
|
yann@1
|
22 |
+++ gcc-2.95.3/libstdc++/stl/stl_deque.h 2006-02-18 15:24:17.000000000 -0800
|
yann@1
|
23 |
@@ -1052,7 +1052,7 @@
|
yann@1
|
24 |
copy_backward(_M_start, __first, __last);
|
yann@1
|
25 |
iterator __new_start = _M_start + __n;
|
yann@1
|
26 |
destroy(_M_start, __new_start);
|
yann@1
|
27 |
- _M_destroy_nodes(__new_start._M_node, _M_start._M_node);
|
yann@1
|
28 |
+ _M_destroy_nodes(_M_start._M_node, __new_start._M_node); /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */
|
yann@1
|
29 |
_M_start = __new_start;
|
yann@1
|
30 |
}
|
yann@1
|
31 |
else {
|