From 75843e9b37e9e22711617ea34bf31fea04feaae1 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Tue, 31 Aug 2021 23:41:05 +0200 Subject: [PATCH] P2PServer: don't broadcast stale blocks --- src/p2p_server.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/p2p_server.cpp b/src/p2p_server.cpp index 493624a..1862d17 100644 --- a/src/p2p_server.cpp +++ b/src/p2p_server.cpp @@ -424,7 +424,12 @@ void P2PServer::remove_peer_from_list(const raw_ip& ip) void P2PServer::broadcast(const PoolBlock& block) { - Broadcast* data = new Broadcast{}; + if (block.m_txinGenHeight + 2 < m_pool->miner_data().height) { + LOGWARN(4, "Trying to broadcast a stale block " << block.m_sidechainId << " (mainchain height " << block.m_txinGenHeight << ", current height is " << m_pool->miner_data().height << ')'); + return; + } + + Broadcast* data = new Broadcast(); data->blob.reserve(block.m_mainChainData.size() + block.m_sideChainData.size()); data->blob = block.m_mainChainData;