X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprocess.c;h=807e78396e2a1314aa572933fe6e381f865642c1;hp=a670368ac3c9d56c941d2741f00064f9ad75866a;hb=1cba96d26413a953415487729f2062331ef2aa72;hpb=013bd456084337974aa0b7f2af49e3d9d1afc74c diff --git a/src/process.c b/src/process.c index a670368a..807e7839 100644 --- a/src/process.c +++ b/src/process.c @@ -339,8 +339,8 @@ bool detach(void) { 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; @@ -359,23 +359,24 @@ void unputenv(char *p) { 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 = {}; - 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 = strcmp(var); - list_insert_tail(list, data); + char *data = xstrdup(var); + list_insert_tail(&list, data); putenv(data); #endif }