From cf5a1db75c8054b8152cde54d0256dd7fd0a5335 Mon Sep 17 00:00:00 2001 From: khizmax Date: Tue, 29 Nov 2016 22:51:31 +0300 Subject: [PATCH] Fixed use-after-free bug --- cds/algo/flat_combining/kernel.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cds/algo/flat_combining/kernel.h b/cds/algo/flat_combining/kernel.h index cbc39b77..aa240004 100644 --- a/cds/algo/flat_combining/kernel.h +++ b/cds/algo/flat_combining/kernel.h @@ -291,7 +291,9 @@ namespace cds { namespace algo { /// Destroys the objects and mark all publication records as inactive ~kernel() { - // mark all publication record as detached + m_pThreadRec.reset(); // calls tls_cleanup() + + // delete all publication records for ( publication_record* p = m_pHead; p; ) { publication_record * pRec = p; p = p->pNext.load( memory_model::memory_order_relaxed ); -- 2.34.1