server: exit gracefully on ctrl-c
[fio.git] / infolog.c
index 8396522e206f3dc3d4b501b77554ea93e3ebe8f5..b09e65d61aeef5711d690e663ff5b1c18ad9e254 100644 (file)
--- a/infolog.c
+++ b/infolog.c
@@ -12,7 +12,7 @@ int log_info(const char *format, ...)
        size_t len;
 
        va_start(args, format);
-       len = vsprintf(buffer, format, args);
+       len = vsnprintf(buffer, sizeof(buffer), format, args);
        va_end(args);
 
        if (is_backend)
@@ -28,11 +28,15 @@ int log_err(const char *format, ...)
        size_t len;
 
        va_start(args, format);
-       len = vsprintf(buffer, format, args);
+       len = vsnprintf(buffer, sizeof(buffer), format, args);
        va_end(args);
 
        if (is_backend)
                return fio_server_text_output(buffer, len);
-       else
+       else {
+               if (f_err != stderr)
+                       fwrite(buffer, len, 1, stderr);
+
                return fwrite(buffer, len, 1, f_err);
+       }
 }