t/read-to-pipe-async: Complain if option -f is specified multiple times
[fio.git] / stat.c
diff --git a/stat.c b/stat.c
index bf87917c2956eb60729fa9ea95ac93b1cbe1ed50..e2bc8ddb5fa4a554cd45b7c2ff9f0fd16f00e91d 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -1828,10 +1828,11 @@ void __show_run_stats(void)
                        /*
                         * These are per-group shared already
                         */
-                       strncpy(ts->name, td->o.name, FIO_JOBNAME_SIZE - 1);
+                       snprintf(ts->name, sizeof(ts->name), "%s", td->o.name);
                        if (td->o.description)
-                               strncpy(ts->description, td->o.description,
-                                               FIO_JOBDESC_SIZE - 1);
+                               snprintf(ts->description,
+                                        sizeof(ts->description), "%s",
+                                        td->o.description);
                        else
                                memset(ts->description, 0, FIO_JOBDESC_SIZE);
 
@@ -1868,12 +1869,12 @@ void __show_run_stats(void)
                        if (!td->error && td->o.continue_on_error &&
                            td->first_error) {
                                ts->error = td->first_error;
-                               ts->verror[sizeof(ts->verror) - 1] = '\0';
-                               strncpy(ts->verror, td->verror, sizeof(ts->verror) - 1);
+                               snprintf(ts->verror, sizeof(ts->verror), "%s",
+                                        td->verror);
                        } else  if (td->error) {
                                ts->error = td->error;
-                               ts->verror[sizeof(ts->verror) - 1] = '\0';
-                               strncpy(ts->verror, td->verror, sizeof(ts->verror) - 1);
+                               snprintf(ts->verror, sizeof(ts->verror), "%s",
+                                        td->verror);
                        }
                }
 
@@ -2122,6 +2123,9 @@ static int check_status_file(void)
        }
        if (temp_dir == NULL)
                temp_dir = "/tmp";
+#ifdef __COVERITY__
+       __coverity_tainted_data_sanitize__(temp_dir);
+#endif
 
        snprintf(fio_status_file_path, sizeof(fio_status_file_path), "%s/%s", temp_dir, FIO_STATUS_FILE);
 
@@ -2579,7 +2583,7 @@ void add_clat_sample(struct thread_data *td, enum fio_ddir ddir,
                        io_u_plat = (uint64_t *) td->ts.io_u_plat[ddir];
                        dst = malloc(sizeof(struct io_u_plat_entry));
                        memcpy(&(dst->io_u_plat), io_u_plat,
-                               FIO_IO_U_PLAT_NR * sizeof(unsigned int));
+                               FIO_IO_U_PLAT_NR * sizeof(uint64_t));
                        flist_add(&dst->list, &hw->list);
                        __add_log_sample(iolog, sample_plat(dst), ddir, bs,
                                                elapsed, offset);