summaryrefslogtreecommitdiff
path: root/patches/gcc/2.95.3/140-deque-leak-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/2.95.3/140-deque-leak-fix.patch')
-rw-r--r--patches/gcc/2.95.3/140-deque-leak-fix.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/gcc/2.95.3/140-deque-leak-fix.patch b/patches/gcc/2.95.3/140-deque-leak-fix.patch
new file mode 100644
index 0000000..44d2a01
--- /dev/null
+++ b/patches/gcc/2.95.3/140-deque-leak-fix.patch
@@ -0,0 +1,31 @@
+[See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ]
+
+Date: Fri, 16 Nov 2001 16:06:22 -0500
+From: Phil Edwards <pedwards at disaster dot jaj dot com>
+To: gcc-patches at gcc dot gnu dot org
+Subject: [libstdc++ trunk & 3.0] Fix deque memory leak
+Message-ID: <20011116160622.A23094@disaster.jaj.com>
+
+
+As discussed on the libstdc++ mailing list. Tested on i686/linux.
+
+
+
+2001-11-16 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/stl_deque.h (deque::erase()): Fix memory leak.
+
+
+[rediffed against 2.95.3 -- dank]
+
+--- gcc-2.95.3/libstdc++/stl/stl_deque.h.old 2001-01-01 09:48:22.000000000 -0800
++++ gcc-2.95.3/libstdc++/stl/stl_deque.h 2006-02-18 15:24:17.000000000 -0800
+@@ -1052,7 +1052,7 @@
+ copy_backward(_M_start, __first, __last);
+ iterator __new_start = _M_start + __n;
+ destroy(_M_start, __new_start);
+- _M_destroy_nodes(__new_start._M_node, _M_start._M_node);
++ _M_destroy_nodes(_M_start._M_node, __new_start._M_node); /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */
+ _M_start = __new_start;
+ }
+ else {