projects
/
tinc
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
313de46
)
Don't use myself->name in device_disable(), it's already freed.
author
Guus Sliepen
<guus@tinc-vpn.org>
Wed, 24 Dec 2014 16:06:05 +0000
(17:06 +0100)
committer
Guus Sliepen
<guus@tinc-vpn.org>
Wed, 24 Dec 2014 16:06:05 +0000
(17:06 +0100)
src/net_setup.c
patch
|
blob
|
history
diff --git
a/src/net_setup.c
b/src/net_setup.c
index
665e3c6
..
0a99daa
100644
(file)
--- a/
src/net_setup.c
+++ b/
src/net_setup.c
@@
-44,6
+44,7
@@
#include "xalloc.h"
char *myport;
#include "xalloc.h"
char *myport;
+static char *myname;
static io_t device_io;
devops_t devops;
bool device_standby = false;
static io_t device_io;
devops_t devops;
bool device_standby = false;
@@
-715,7
+716,7
@@
void device_enable(void) {
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
- xasprintf(&envp[3], "NAME=%s", my
self->
name);
+ xasprintf(&envp[3], "NAME=%s", myname);
execute_script("tinc-up", envp);
execute_script("tinc-up", envp);
@@
-728,7
+729,7
@@
void device_disable(void) {
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
xasprintf(&envp[0], "NETNAME=%s", netname ? : "");
xasprintf(&envp[1], "DEVICE=%s", device ? : "");
xasprintf(&envp[2], "INTERFACE=%s", iface ? : "");
- xasprintf(&envp[3], "NAME=%s", my
self->
name);
+ xasprintf(&envp[3], "NAME=%s", myname);
execute_script("tinc-down", envp);
execute_script("tinc-down", envp);
@@
-752,6
+753,7
@@
static bool setup_myself(void) {
return false;
}
return false;
}
+ myname = xstrdup(name);
myself = new_node();
myself->connection = new_connection();
myself->name = name;
myself = new_node();
myself->connection = new_connection();
myself->name = name;
@@
-1121,5
+1123,8
@@
void close_network_connections(void) {
exit_control();
exit_control();
+ free(myname);
+ myname = NULL;
+
return;
}
return;
}