net: only delete CConnman if it's been created
In the case of (for example) an already-running bitcoind, the shutdown sequence begins before CConnman has been created, leading to a null-pointer dereference when g_connman->Stop() is called. Instead, Just let the CConnman dtor take care of stopping.
This commit is contained in:
parent
fa7caf6d91
commit
36fa01f217
2 changed files with 1 additions and 1 deletions
|
@ -200,7 +200,6 @@ void Shutdown()
|
||||||
pwalletMain->Flush(false);
|
pwalletMain->Flush(false);
|
||||||
#endif
|
#endif
|
||||||
MapPort(false);
|
MapPort(false);
|
||||||
g_connman->Stop();
|
|
||||||
g_connman.reset();
|
g_connman.reset();
|
||||||
|
|
||||||
StopTorControl();
|
StopTorControl();
|
||||||
|
|
|
@ -2205,6 +2205,7 @@ void CConnman::DeleteNode(CNode* pnode)
|
||||||
|
|
||||||
CConnman::~CConnman()
|
CConnman::~CConnman()
|
||||||
{
|
{
|
||||||
|
Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t CConnman::GetAddressCount() const
|
size_t CConnman::GetAddressCount() const
|
||||||
|
|
Loading…
Reference in a new issue