projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't forget about outgoing connections on host file read errors.
[tinc]
/
src
/
process.c
diff --git
a/src/process.c
b/src/process.c
index
f736d00
..
807e783
100644
(file)
--- a/
src/process.c
+++ b/
src/process.c
@@
-1,7
+1,7
@@
/*
process.c -- process management functions
Copyright (C) 1999-2005 Ivo Timmermans,
/*
process.c -- process management functions
Copyright (C) 1999-2005 Ivo Timmermans,
- 2000-201
3
Guus Sliepen <guus@tinc-vpn.org>
+ 2000-201
5
Guus Sliepen <guus@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
@@
-339,8
+339,8
@@
bool detach(void) {
openlogger(identname, use_logfile?LOGMODE_FILE:(do_detach?LOGMODE_SYSLOG:LOGMODE_STDERR));
openlogger(identname, use_logfile?LOGMODE_FILE:(do_detach?LOGMODE_SYSLOG:LOGMODE_STDERR));
- logger(LOG_NOTICE, "tincd %s
(%s %s)
starting, debug level %d",
- VERSION,
__DATE__, __TIME__,
debug_level);
+ logger(LOG_NOTICE, "tincd %s starting, debug level %d",
+ VERSION, debug_level);
xalloc_fail_func = memory_full;
xalloc_fail_func = memory_full;
@@
-359,23
+359,24
@@
void unputenv(char *p) {
len++;
#endif
#endif
len++;
#endif
#endif
- char var[len];
- strncpy(var, p, len);
+ char var[len + 1];
+ memcpy(var, p, len);
+ var[len] = 0;
#ifdef HAVE_UNSETENV
unsetenv(var);
#else
// We must keep what we putenv() around in memory.
// To do this without memory leaks, keep things in a list and reuse if possible.
static list_t list = {};
#ifdef HAVE_UNSETENV
unsetenv(var);
#else
// We must keep what we putenv() around in memory.
// To do this without memory leaks, keep things in a list and reuse if possible.
static list_t list = {};
- for(list_node_t *node = list
->head; node; node++
) {
+ for(list_node_t *node = list
.head; node; node = node->next
) {
char *data = node->data;
if(!strcmp(data, var)) {
putenv(data);
return;
}
}
char *data = node->data;
if(!strcmp(data, var)) {
putenv(data);
return;
}
}
- char *data =
strcm
p(var);
- list_insert_tail(list, data);
+ char *data =
xstrdu
p(var);
+ list_insert_tail(
&
list, data);
putenv(data);
#endif
}
putenv(data);
#endif
}