projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove unused device stats variables.
[tinc]
/
src
/
subnet.c
diff --git
a/src/subnet.c
b/src/subnet.c
index
3b98030
..
5356f3a
100644
(file)
--- a/
src/subnet.c
+++ b/
src/subnet.c
@@
-29,7
+29,7
@@
#include "net.h"
#include "netutl.h"
#include "node.h"
#include "net.h"
#include "netutl.h"
#include "node.h"
-#include "
process
.h"
+#include "
script
.h"
#include "subnet.h"
#include "utils.h"
#include "xalloc.h"
#include "subnet.h"
#include "utils.h"
#include "xalloc.h"
@@
-92,13
+92,15
@@
void subnet_add(node_t *n, subnet_t *subnet) {
subnet->owner = n;
splay_insert(subnet_tree, subnet);
subnet->owner = n;
splay_insert(subnet_tree, subnet);
- splay_insert(n->subnet_tree, subnet);
+ if (n)
+ splay_insert(n->subnet_tree, subnet);
subnet_cache_flush();
}
void subnet_del(node_t *n, subnet_t *subnet) {
subnet_cache_flush();
}
void subnet_del(node_t *n, subnet_t *subnet) {
- splay_delete(n->subnet_tree, subnet);
+ if (n)
+ splay_delete(n->subnet_tree, subnet);
splay_delete(subnet_tree, subnet);
subnet_cache_flush();
splay_delete(subnet_tree, subnet);
subnet_cache_flush();
@@
-126,7
+128,7
@@
subnet_t *lookup_subnet_mac(const node_t *owner, const mac_t *address) {
if(!memcmp(address, &p->net.mac.address, sizeof *address)) {
r = p;
if(!memcmp(address, &p->net.mac.address, sizeof *address)) {
r = p;
- if(p->owner->status.reachable)
+ if(
!p->owner ||
p->owner->status.reachable)
break;
}
}
break;
}
}
@@
-155,7
+157,7
@@
subnet_t *lookup_subnet_ipv4(const ipv4_t *address) {
if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength)) {
r = p;
if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength)) {
r = p;
- if(p->owner->status.reachable)
+ if(
!p->owner ||
p->owner->status.reachable)
break;
}
}
break;
}
}
@@
-184,7
+186,7
@@
subnet_t *lookup_subnet_ipv6(const ipv6_t *address) {
if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength)) {
r = p;
if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength)) {
r = p;
- if(p->owner->status.reachable)
+ if(
!p->owner ||
p->owner->status.reachable)
break;
}
}
break;
}
}
@@
-275,7
+277,7
@@
bool dump_subnets(connection_t *c) {
send_request(c, "%d %d %s %s",
CONTROL, REQ_DUMP_SUBNETS,
send_request(c, "%d %d %s %s",
CONTROL, REQ_DUMP_SUBNETS,
- netstr, subnet->owner
->name
);
+ netstr, subnet->owner
? subnet->owner->name : "(broadcast)"
);
}
return send_request(c, "%d %d", CONTROL, REQ_DUMP_SUBNETS);
}
return send_request(c, "%d %d", CONTROL, REQ_DUMP_SUBNETS);