From c4111ea62948b24de41acb2fb794f4cb62ff5896 Mon Sep 17 00:00:00 2001 From: clemahieu Date: Tue, 6 Dec 2022 12:52:49 +0000 Subject: [PATCH] Locking around read/write to peering_endpoint. (#4019) --- nano/node/transport/transport.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nano/node/transport/transport.cpp b/nano/node/transport/transport.cpp index 0a67f1db4..129477c10 100644 --- a/nano/node/transport/transport.cpp +++ b/nano/node/transport/transport.cpp @@ -81,17 +81,20 @@ void nano::transport::channel::send (nano::message & message_a, std::function lock{ channel_mutex }; peering_endpoint = endpoint; } nano::endpoint nano::transport::channel::get_peering_endpoint () const { + nano::unique_lock lock{ channel_mutex }; if (peering_endpoint) { return *peering_endpoint; } else { + lock.unlock (); return get_endpoint (); } }