From ec959d5f46b6d54be51000cf1eb7707b9b9488a5 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Fri, 11 Apr 2014 08:22:42 +0000 Subject: [PATCH] Remove node from a container before destroying it. Thanks to Alexander Potapenko for pointing this out. llvm-svn: 206024 --- libcxx/include/__tree | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__tree b/libcxx/include/__tree index acf87593a970..8e5447a2ffb5 100644 --- a/libcxx/include/__tree +++ b/libcxx/include/__tree @@ -1980,9 +1980,9 @@ __tree<_Tp, _Compare, _Allocator>::erase(const_iterator __p) __begin_node() = __r.__ptr_; --size(); __node_allocator& __na = __node_alloc(); - __node_traits::destroy(__na, const_cast(_VSTD::addressof(*__p))); __tree_remove(__end_node()->__left_, static_cast<__node_base_pointer>(__np)); + __node_traits::destroy(__na, const_cast(_VSTD::addressof(*__p))); __node_traits::deallocate(__na, __np, 1); return __r; }