Fixed a va_list corruption in logv_error()
authorClifford Wolf <clifford@clifford.at>
Sat, 2 Aug 2014 19:54:30 +0000 (21:54 +0200)
committerClifford Wolf <clifford@clifford.at>
Sat, 2 Aug 2014 19:54:30 +0000 (21:54 +0200)
kernel/log.cc

index 81cc26da38d35dfe6706256bb009804ca4176adb..09673dc2e2464ac2e36b81aa1495378468e8687d 100644 (file)
@@ -113,12 +113,11 @@ void logv_header(const char *format, va_list ap)
 
 void logv_error(const char *format, va_list ap)
 {
+       if (log_errfile != NULL)
+               log_files.push_back(log_errfile);
+
        log("ERROR: ");
        logv(format, ap);
-       if (log_errfile != NULL) {
-               fprintf(log_errfile, "ERROR: ");
-               vfprintf(log_errfile, format, ap);
-       }
        log_flush();
        exit(1);
 }