From: khizmax Date: Mon, 28 Nov 2016 15:15:34 +0000 (+0300) Subject: Fixed memory leak in SplitList expandable bucket table X-Git-Tag: v2.2.0~42 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=dc030795d16b32ddcabac58deb83f4be26c8be36;p=libcds.git Fixed memory leak in SplitList expandable bucket table --- diff --git a/cds/intrusive/details/split_list_base.h b/cds/intrusive/details/split_list_base.h index 6546e495..f6b41084 100644 --- a/cds/intrusive/details/split_list_base.h +++ b/cds/intrusive/details/split_list_base.h @@ -669,6 +669,7 @@ namespace cds { namespace intrusive { // try to allocate new aux segment // We can allocate more aux segments than we need but it is not a problem in this context aux_node_segment* new_aux_segment = allocate_aux_segment(); + new_aux_segment->next_segment = aux_segment; new_aux_segment->aux_node_count.fetch_add( 1, memory_model::memory_order_relaxed ); if ( m_auxNodeList.compare_exchange_strong( aux_segment, new_aux_segment, memory_model::memory_order_relaxed, atomics::memory_order_relaxed )) return new( new_aux_segment->segment()) aux_node_type();