mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-20 13:24:09 -07:00
fix memory init issue
and another place where dns data needs to be copied
This commit is contained in:
parent
6b197e067a
commit
d098a99d09
9 changed files with 47 additions and 4 deletions
|
@ -43,6 +43,7 @@ public:
|
|||
template<unsigned int C>
|
||||
static inline void deserializeDNS(const Buffer<C> &b, unsigned int &p, ZT_VirtualNetworkDNS *dns, const unsigned int dnsCount)
|
||||
{
|
||||
memset(dns, 0, sizeof(ZT_VirtualNetworkDNS)*ZT_MAX_NETWORK_DNS);
|
||||
for(unsigned int i = 0; i < dnsCount; ++i) {
|
||||
char *d = (char*)b.data()+p;
|
||||
memcpy(dns[i].domain, d, 128);
|
||||
|
|
|
@ -586,6 +586,7 @@ Network::Network(const RuntimeEnvironment *renv,void *tPtr,uint64_t nwid,void *u
|
|||
|
||||
if (!_portInitialized) {
|
||||
ZT_VirtualNetworkConfig ctmp;
|
||||
memset(&ctmp, 0, sizeof(ZT_VirtualNetworkConfig));
|
||||
_externalConfig(&ctmp);
|
||||
_portError = RR->node->configureVirtualNetworkPort(tPtr,_id,&_uPtr,ZT_VIRTUAL_NETWORK_CONFIG_OPERATION_UP,&ctmp);
|
||||
_portInitialized = true;
|
||||
|
@ -1426,6 +1427,11 @@ void Network::_externalConfig(ZT_VirtualNetworkConfig *ec) const
|
|||
ec->multicastSubscriptions[i].mac = _myMulticastGroups[i].mac().toInt();
|
||||
ec->multicastSubscriptions[i].adi = _myMulticastGroups[i].adi();
|
||||
}
|
||||
|
||||
ec->dnsCount = _config.dnsCount;
|
||||
if (ec->dnsCount > 0) {
|
||||
memcpy(&ec->dns, &_config.dns, sizeof(ZT_VirtualNetworkDNS));
|
||||
}
|
||||
}
|
||||
|
||||
void Network::_sendUpdatesToMembers(void *tPtr,const MulticastGroup *const newMulticastGroup)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue