From 43a81ff1a7c389e8cfd5929c5cc8c59310a02ccd 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 8880bd89..27d52966 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; }