Really remove use of __DATE__ and __TIME__ to facilitate reproducible builds.
[tinc] / src / process.c
index a670368..807e783 100644 (file)
@@ -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
 }