From dc030795d16b32ddcabac58deb83f4be26c8be36 Mon Sep 17 00:00:00 2001 From: khizmax Date: Mon, 28 Nov 2016 18:15:34 +0300 Subject: [PATCH] Fixed memory leak in SplitList expandable bucket table --- cds/intrusive/details/split_list_base.h | 1 + 1 file changed, 1 insertion(+) 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(); -- 2.34.1