if (!strncmp(opt, "name", 4) && td) {
ret = add_job(td, td->o.name ?: "fio", 0, 0, client_type);
if (ret)
- return 0;
+ goto out_free;
td = NULL;
}
if (!td) {
td = get_new_job(global, &def_thread, 1);
if (!td || ioengine_load(td))
- return 0;
+ goto out_free;
fio_options_set_ioengine_opts(l_opts, td);
}
if (!ret && !strcmp(opt, "ioengine")) {
free_ioengine(td);
if (ioengine_load(td))
- return 0;
+ goto out_free;
fio_options_set_ioengine_opts(l_opts, td);
}
break;
optind++;
}
+out_free:
+ if (pid_file)
+ free(pid_file);
+
return ini_idx;
}