stat: Fix another memory leak in add_ddir_status_json()
[fio.git] / cconv.c
diff --git a/cconv.c b/cconv.c
index 50e45c63a636bf0be66299a8f20a0a9e75d264ae..04854b0ebe848d94de229511056c2e0d7281f33e 100644 (file)
--- a/cconv.c
+++ b/cconv.c
@@ -13,10 +13,9 @@ static void string_to_cpu(char **dst, const uint8_t *src)
 
 static void __string_to_net(uint8_t *dst, const char *src, size_t dst_size)
 {
-       if (src) {
-               dst[dst_size - 1] = '\0';
-               strncpy((char *) dst, src, dst_size - 1);
-       } else
+       if (src)
+               snprintf((char *) dst, dst_size, "%s", src);
+       else
                dst[0] = '\0';
 }
 
@@ -227,6 +226,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->zone_skip = le64_to_cpu(top->zone_skip);
        o->zone_mode = le32_to_cpu(top->zone_mode);
        o->lockmem = le64_to_cpu(top->lockmem);
+       o->offset_increment_percent = le32_to_cpu(top->offset_increment_percent);
        o->offset_increment = le64_to_cpu(top->offset_increment);
        o->number_ios = le64_to_cpu(top->number_ios);
 
@@ -236,7 +236,8 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->loops = le32_to_cpu(top->loops);
        o->mem_type = le32_to_cpu(top->mem_type);
        o->mem_align = le32_to_cpu(top->mem_align);
-       o->stonewall = le32_to_cpu(top->stonewall);
+       o->exit_what = le16_to_cpu(top->exit_what);
+       o->stonewall = le16_to_cpu(top->stonewall);
        o->new_group = le32_to_cpu(top->new_group);
        o->numjobs = le32_to_cpu(top->numjobs);
        o->cpus_allowed_policy = le32_to_cpu(top->cpus_allowed_policy);
@@ -433,7 +434,8 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->loops = cpu_to_le32(o->loops);
        top->mem_type = cpu_to_le32(o->mem_type);
        top->mem_align = cpu_to_le32(o->mem_align);
-       top->stonewall = cpu_to_le32(o->stonewall);
+       top->exit_what = cpu_to_le16(o->exit_what);
+       top->stonewall = cpu_to_le16(o->stonewall);
        top->new_group = cpu_to_le32(o->new_group);
        top->numjobs = cpu_to_le32(o->numjobs);
        top->cpus_allowed_policy = cpu_to_le32(o->cpus_allowed_policy);
@@ -567,6 +569,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->start_offset_align = __cpu_to_le64(o->start_offset_align);
        top->start_offset_percent = __cpu_to_le32(o->start_offset_percent);
        top->trim_backlog = __cpu_to_le64(o->trim_backlog);
+       top->offset_increment_percent = __cpu_to_le32(o->offset_increment_percent);
        top->offset_increment = __cpu_to_le64(o->offset_increment);
        top->number_ios = __cpu_to_le64(o->number_ios);
        top->rate_process = cpu_to_le32(o->rate_process);