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.
pull/308/head
Cory Fields 8 years ago
parent fa7caf6d91
commit 36fa01f217

@ -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…
Cancel
Save