Parcourir la source

Small bug fix and warning removal.

Adam Ierymenko il y a 8 ans
Parent
commit
25f9c294dc
2 fichiers modifiés avec 8 ajouts et 6 suppressions
  1. 7 5
      controller/EmbeddedNetworkController.cpp
  2. 1 1
      node/InetAddress.hpp

+ 7 - 5
controller/EmbeddedNetworkController.cpp

@@ -1776,11 +1776,13 @@ void EmbeddedNetworkController::_pushMemberUpdate(uint64_t now,uint64_t nwid,con
 				std::map<std::pair<uint64_t,uint64_t>,uint64_t>::iterator lrt(_lastRequestTime.find(std::pair<uint64_t,uint64_t>(id.address().toInt(),nwid)));
 				online = ( (lrt != _lastRequestTime.end()) && ((now - lrt->second) < ZT_NETWORK_AUTOCONF_DELAY) );
 			}
-			Dictionary<ZT_NETWORKCONFIG_METADATA_DICT_CAPACITY> *metaData = new Dictionary<ZT_NETWORKCONFIG_METADATA_DICT_CAPACITY>(mdstr.c_str());
-			try {
-				this->request(nwid,InetAddress(),0,id,*metaData);
-			} catch ( ... ) {}
-			delete metaData;
+			if (online) {
+				Dictionary<ZT_NETWORKCONFIG_METADATA_DICT_CAPACITY> *metaData = new Dictionary<ZT_NETWORKCONFIG_METADATA_DICT_CAPACITY>(mdstr.c_str());
+				try {
+					this->request(nwid,InetAddress(),0,id,*metaData);
+				} catch ( ... ) {}
+				delete metaData;
+			}
 		}
 	} catch ( ... ) {}
 }

+ 1 - 1
node/InetAddress.hpp

@@ -427,7 +427,7 @@ struct InetAddress : public sockaddr_storage
 		} else {
 			unsigned long tmp = reinterpret_cast<const struct sockaddr_in6 *>(this)->sin6_port;
 			const uint8_t *a = reinterpret_cast<const uint8_t *>(this);
-			for(long i=0;i<sizeof(InetAddress);++i)
+			for(long i=0;i<(long)sizeof(InetAddress);++i)
 				reinterpret_cast<uint8_t *>(&tmp)[i % sizeof(tmp)] ^= a[i];
 			return tmp;
 		}