From a093092ef7fad731853fb8ea7b39c9f35ff4315c Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Thu, 27 Sep 2018 17:46:39 +0000 Subject: [PATCH] levin_protocol_handler_async: do not propagate exception through dtor Coverity 161856 --- contrib/epee/include/net/levin_protocol_handler_async.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h index 0b1fe05fa..e9853ee26 100644 --- a/contrib/epee/include/net/levin_protocol_handler_async.h +++ b/contrib/epee/include/net/levin_protocol_handler_async.h @@ -275,6 +275,9 @@ public: } virtual ~async_protocol_handler() { + try + { + m_deletion_initiated = true; if(m_connection_initialized) { @@ -288,6 +291,9 @@ public: CHECK_AND_ASSERT_MES_NO_RET(0 == boost::interprocess::ipcdetail::atomic_read32(&m_wait_count), "Failed to wait for operation completion. m_wait_count = " << m_wait_count); MTRACE(m_connection_context << "~async_protocol_handler()"); + + } + catch (...) { /* ignore */ } } bool start_outer_call()