X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fsubnet.c;h=b52dfa53b3a37d6f068e1a57e9f47e7b3dc15331;hp=984cc7f8ece644ff2f2ec80cd6054366efe3fba1;hb=672ad5634cbedfbd6345e887935eed3e806f1e2d;hpb=40b1692940a8d588c08fb6b8f24ded7c33b041b1 diff --git a/src/subnet.c b/src/subnet.c index 984cc7f8..b52dfa53 100644 --- a/src/subnet.c +++ b/src/subnet.c @@ -398,6 +398,7 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) { asprintf(&envp[1], "DEVICE=%s", device ? : ""); asprintf(&envp[2], "INTERFACE=%s", iface ? : ""); asprintf(&envp[3], "NODE=%s", owner->name); + if(owner != myself) { sockaddr2str(&owner->address, &address, &port); asprintf(&envp[4], "REMOTEADDRESS=%s", address); @@ -425,12 +426,14 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) { net2str(netstr, sizeof netstr, subnet); envp[6] = envp[7] = NULL; - + for(i = 0; i < (owner != myself ? 6 : 4); i++) free(envp[i]); - free(address); - free(port); + if(owner != myself) { + free(address); + free(port); + } } void dump_subnets(void)