posixaio: fix bad type passed to memset
[fio.git] / stat.c
diff --git a/stat.c b/stat.c
index 74c2686c660ca33b76b12e85eefab3a68e933e7c..1e889f537f24254cc9090a103a1993cf1a18e09d 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -669,6 +669,8 @@ static void show_thread_status_normal(struct thread_stat *ts,
 
        if (!ddir_rw_sum(ts->io_bytes) && !ddir_rw_sum(ts->total_io_u))
                return;
+               
+       memset(time_buf, 0, sizeof(time_buf));
 
        time(&time_p);
        os_ctime_r((const time_t *) &time_p, time_buf, sizeof(time_buf));
@@ -1648,7 +1650,8 @@ void __show_run_stats(void)
 
                os_ctime_r((const time_t *) &now.tv_sec, time_buf,
                                sizeof(time_buf));
-               time_buf[strlen(time_buf) - 1] = '\0';
+               if (time_buf[strlen(time_buf) - 1] == '\n')
+                       time_buf[strlen(time_buf) - 1] = '\0';
 
                root = json_create_object();
                json_object_add_value_string(root, "fio version", fio_version_string);
@@ -2020,7 +2023,7 @@ static void __add_log_sample(struct io_log *iolog, unsigned long val,
                s = get_sample(iolog, cur_log, cur_log->nr_samples);
 
                s->val = val;
-               s->time = t + iolog->td->unix_epoch;
+               s->time = t + (iolog->td ? iolog->td->unix_epoch : 0);
                io_sample_set_ddir(iolog, s, ddir);
                s->bs = bs;