Force nul-termination of strings after vsnprintf().
[oweals/tinc.git] / src / logger.c
index f886ba4c0d7d38dd434a4cf61bef68bd11f6d512..e0e6bcad4714350bbcff38b3d45ae7631e386f52 100644 (file)
@@ -75,7 +75,7 @@ void reopenlogger() {
        fflush(logfile);
        FILE *newfile = fopen(logfilename, "a");
        if(!newfile) {
-               logger(LOG_ERR, "Unable to reopen log file %s: %s\n", logfilename, strerror(errno));
+               logger(LOG_ERR, "Unable to reopen log file %s: %s", logfilename, strerror(errno));
                return;
        }
        fclose(logfile);
@@ -109,6 +109,7 @@ void logger(int priority, const char *format, ...) {
                                char message[4096];
                                const char *messages[] = {message};
                                vsnprintf(message, sizeof(message), format, ap);
+                               message[sizeof message - 1] = 0;
                                ReportEvent(loghandle, priority, 0, 0, NULL, 1, 0, messages, NULL);
                        }
 #else