diff options
| author | Alexander Blair <snipa@jagtech.io> | 2021-01-03 18:24:50 -0800 |
|---|---|---|
| committer | Alexander Blair <snipa@jagtech.io> | 2021-01-03 18:24:50 -0800 |
| commit | dbaf95ac7716772cfa2463fd8a3e68491f12b2f8 (patch) | |
| tree | c3498b536de9c2c2da8fea9cf43749ebdf8fc5fa /src/cryptonote_protocol | |
| parent | 71f7d4e71e0c926f4b78b6a8d6a98cbe71f4ac57 (diff) | |
| parent | 4e74385a1ae9eae4ae9e8d155dfd96978eb10e7a (diff) | |
| download | monzero-core-dbaf95ac7716772cfa2463fd8a3e68491f12b2f8.tar.gz monzero-core-dbaf95ac7716772cfa2463fd8a3e68491f12b2f8.tar.xz monzero-core-dbaf95ac7716772cfa2463fd8a3e68491f12b2f8.zip | |
Merge pull request #7271
4e74385a1 fix accessing an network address in a deleted context (moneromooo-monero)
Diffstat (limited to 'src/cryptonote_protocol')
| -rw-r--r-- | src/cryptonote_protocol/cryptonote_protocol_handler.inl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler.inl b/src/cryptonote_protocol/cryptonote_protocol_handler.inl index c54974387..a3020495e 100644 --- a/src/cryptonote_protocol/cryptonote_protocol_handler.inl +++ b/src/cryptonote_protocol/cryptonote_protocol_handler.inl @@ -2835,12 +2835,15 @@ skip: epee::string_tools::to_string_hex(context.m_pruning_seed) << "), score " << score << ", flush_all_spans " << flush_all_spans); - if (score > 0) - m_p2p->add_host_fail(context.m_remote_address, score); - m_block_queue.flush_spans(context.m_connection_id, flush_all_spans); + // copy since dropping the connection will invalidate the context, and thus the address + const auto remote_address = context.m_remote_address; + m_p2p->drop_connection(context); + + if (score > 0) + m_p2p->add_host_fail(remote_address, score); } //------------------------------------------------------------------------------------------------------------------------ template<class t_core> |
