stat: Fix a memory leak in add_ddir_status_json()
[fio.git] / stat.c
diff --git a/stat.c b/stat.c
index 0ee153a9d4d526de6f12feab267ee3e1df571f2d..b5dad4fa2d976147c88555b7444a11d5c6ac9ac7 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -1309,6 +1309,8 @@ static void add_ddir_status_json(struct thread_stat *ts,
                json_object_add_value_int(percentile_object, buf, ovals[i]);
        }
 
+       free(ovals);
+
        if (output_format & FIO_OUTPUT_JSON_PLUS) {
                clat_bins_object = json_create_object();
                if (ts->clat_percentiles)
@@ -1347,8 +1349,6 @@ static void add_ddir_status_json(struct thread_stat *ts,
        if (output_format & FIO_OUTPUT_JSON_PLUS && ts->lat_percentiles)
                json_object_add_value_object(tmp_object, "bins", clat_bins_object);
 
-       free(ovals);
-
        if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) {
                if (rs->agg[ddir]) {
                        p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);