aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2016-09-13 14:42:55 -0400
committerCory Fields <cory-nospam-@coryfields.com>2016-09-13 22:43:23 -0400
commit36fa01f217fbc32afb90314fd257650c71a47045 (patch)
tree30e238e40abdffd1f476de554e13cf824a5bd638 /src
parentfa7caf6d9116c35433a2069174f4c66f051d52ba (diff)
downloadbitcoin-36fa01f217fbc32afb90314fd257650c71a47045.tar.xz
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.
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp1
-rw-r--r--src/net.cpp1
2 files changed, 1 insertions, 1 deletions
diff --git a/src/init.cpp b/src/init.cpp
index e9552da67d..8d1e330a05 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -200,7 +200,6 @@ void Shutdown()
pwalletMain->Flush(false);
#endif
MapPort(false);
- g_connman->Stop();
g_connman.reset();
StopTorControl();
diff --git a/src/net.cpp b/src/net.cpp
index b39ef9f54a..30513a3b9a 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -2205,6 +2205,7 @@ void CConnman::DeleteNode(CNode* pnode)
CConnman::~CConnman()
{
+ Stop();
}
size_t CConnman::GetAddressCount() const