Merge pull request #109 from fsb4000/patch-1
authorCryptoManiac <CryptoManiac@users.noreply.github.com>
Sun, 11 Jan 2015 01:41:44 +0000 (04:41 +0300)
committerCryptoManiac <CryptoManiac@users.noreply.github.com>
Sun, 11 Jan 2015 01:41:44 +0000 (04:41 +0300)
fix "List iterator not dereferencable" and "List iterator not incrementable"

src/net.cpp

index c2430fe..7ea7631 100644 (file)
@@ -1469,13 +1469,18 @@ void ThreadOpenAddedConnections2(void* parg)
             LOCK(cs_vNodes);
             BOOST_FOREACH(CNode* pnode, vNodes)
                 for (list<vector<CService> >::iterator it = lservAddressesToAdd.begin(); it != lservAddressesToAdd.end(); it++)
+                {
                     BOOST_FOREACH(CService& addrNode, *(it))
                         if (pnode->addr == addrNode)
                         {
                             it = lservAddressesToAdd.erase(it);
-                            it--;
+                            if(it != lservAddressesToAdd.begin())
+                                it--;
                             break;
                         }
+                    if (it == lservAddressesToAdd.end())
+                        break;
+                }
         }
         BOOST_FOREACH(vector<CService>& vserv, lservAddressesToAdd)
         {