projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a bug in handling prefixlengths that are not a multiple of 4.
[tinc]
/
src
/
subnet.c
diff --git
a/src/subnet.c
b/src/subnet.c
index
b52dfa5
..
d07e340
100644
(file)
--- a/
src/subnet.c
+++ b/
src/subnet.c
@@
-1,7
+1,7
@@
/*
subnet.c -- handle subnet lookups and lists
/*
subnet.c -- handle subnet lookups and lists
- Copyright (C) 2000-200
4
Guus Sliepen <guus@tinc-vpn.org>,
- 2000-200
4
Ivo Timmermans <ivo@tinc-vpn.org>
+ Copyright (C) 2000-200
5
Guus Sliepen <guus@tinc-vpn.org>,
+ 2000-200
5
Ivo Timmermans <ivo@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-247,6
+247,11
@@
bool net2str(char *netstr, int len, const subnet_t *subnet)
{
cp();
{
cp();
+ if(!netstr || !subnet) {
+ logger(LOG_ERR, _("net2str() was called with netstr=%p, subnet=%p!\n"), netstr, subnet);
+ return false;
+ }
+
switch (subnet->type) {
case SUBNET_MAC:
snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx",
switch (subnet->type) {
case SUBNET_MAC:
snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx",
@@
-424,9
+429,6
@@
void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
execute_script(name, envp);
}
execute_script(name, envp);
}
- net2str(netstr, sizeof netstr, subnet);
- envp[6] = envp[7] = NULL;
-
for(i = 0; i < (owner != myself ? 6 : 4); i++)
free(envp[i]);
for(i = 0; i < (owner != myself ? 6 : 4); i++)
free(envp[i]);