From f3c3e0bfffdd22929657ddf9a5aa8791c7cfd299 Mon Sep 17 00:00:00 2001 From: seelabs Date: Wed, 4 May 2016 14:22:58 -0400 Subject: [PATCH] Fix destruction of basic_headers elements: * Add missing call to destroy * Use traits to destroy the element --- include/beast/http/impl/basic_headers.ipp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/beast/http/impl/basic_headers.ipp b/include/beast/http/impl/basic_headers.ipp index 8880bd890c..27d52966ad 100644 --- a/include/beast/http/impl/basic_headers.ipp +++ b/include/beast/http/impl/basic_headers.ipp @@ -59,7 +59,7 @@ delete_all() for(auto it = list_.begin(); it != list_.end();) { auto& e = *it++; - e.~element(); + alloc_traits::destroy(this->member(), &e); alloc_traits::deallocate( this->member(), &e, 1); } @@ -252,6 +252,7 @@ erase(boost::string_ref const& name) auto& e = *it; set_.erase(set_.iterator_to(e)); list_.erase(list_.iterator_to(e)); + alloc_traits::destroy(this->member(), &e); alloc_traits::deallocate(this->member(), &e, 1); return 1; }