mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Check that tx_relay is initialized before access
This commit is contained in:
parent
c4aa2ba822
commit
e75c39cd42
3 changed files with 138 additions and 121 deletions
18
src/net.cpp
18
src/net.cpp
|
|
@ -499,9 +499,11 @@ void CNode::copyStats(CNodeStats &stats)
|
|||
X(nServices);
|
||||
X(addr);
|
||||
X(addrBind);
|
||||
{
|
||||
if (m_tx_relay != nullptr) {
|
||||
LOCK(m_tx_relay->cs_filter);
|
||||
stats.fRelayTxes = m_tx_relay->fRelayTxes;
|
||||
} else {
|
||||
stats.fRelayTxes = false;
|
||||
}
|
||||
X(nLastSend);
|
||||
X(nLastRecv);
|
||||
|
|
@ -528,9 +530,11 @@ void CNode::copyStats(CNodeStats &stats)
|
|||
}
|
||||
X(m_legacyWhitelisted);
|
||||
X(m_permissionFlags);
|
||||
{
|
||||
if (m_tx_relay != nullptr) {
|
||||
LOCK(m_tx_relay->cs_feeFilter);
|
||||
stats.minFeeFilter = m_tx_relay->minFeeFilter;
|
||||
} else {
|
||||
stats.minFeeFilter = 0;
|
||||
}
|
||||
|
||||
// It is common for nodes with good ping times to suddenly become lagged,
|
||||
|
|
@ -818,11 +822,17 @@ bool CConnman::AttemptToEvictConnection()
|
|||
continue;
|
||||
if (node->fDisconnect)
|
||||
continue;
|
||||
LOCK(node->m_tx_relay->cs_filter);
|
||||
bool peer_relay_txes = false;
|
||||
bool peer_filter_not_null = false;
|
||||
if (node->m_tx_relay != nullptr) {
|
||||
LOCK(node->m_tx_relay->cs_filter);
|
||||
peer_relay_txes = node->m_tx_relay->fRelayTxes;
|
||||
peer_filter_not_null = node->m_tx_relay->pfilter != nullptr;
|
||||
}
|
||||
NodeEvictionCandidate candidate = {node->GetId(), node->nTimeConnected, node->nMinPingUsecTime,
|
||||
node->nLastBlockTime, node->nLastTXTime,
|
||||
HasAllDesirableServiceFlags(node->nServices),
|
||||
node->m_tx_relay->fRelayTxes, node->m_tx_relay->pfilter != nullptr, node->addr, node->nKeyedNetGroup,
|
||||
peer_relay_txes, peer_filter_not_null, node->addr, node->nKeyedNetGroup,
|
||||
node->m_prefer_evict};
|
||||
vEvictionCandidates.push_back(candidate);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue