Missed update of dup_files() for dynamically allocated files

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/filesetup.c b/filesetup.c
index 188b0ce..b37de5b 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -719,13 +719,20 @@
 	if (!org->files)
 		return;
 
-	bytes = org->files_index * sizeof(*f);
+	bytes = org->files_index * sizeof(f);
 	td->files = malloc(bytes);
 	memcpy(td->files, org->files, bytes);
 
 	for_each_file(td, f, i) {
+		struct fio_file *__f;
+
+		__f = malloc(sizeof(*__f));
+		memset(f, 0, sizeof(*__f));
+
 		if (f->file_name)
-			f->file_name = strdup(f->file_name);
+			__f->file_name = strdup(f->file_name);
+
+		td->files[i] = __f;
 	}
 }