Avoid overwriting allocated pid_file
[fio.git] / init.c
diff --git a/init.c b/init.c
index 21779c7b162fda0dadeb9f2238d7a334f7c7f3db..fcc135e65eaf1f2f721f310aa8d6355c1331967d 100644 (file)
--- a/init.c
+++ b/init.c
@@ -1907,6 +1907,10 @@ int parse_cmd_line(int argc, char *argv[], int client_type)
                case FIO_GETOPT_IOENGINE: {
                        const char *opt = l_opts[lidx].name;
                        char *val = optarg;
+
+                       if (!td)
+                               break;
+
                        ret = fio_cmd_ioengine_option_parse(td, opt, val);
                        break;
                }
@@ -1934,6 +1938,8 @@ int parse_cmd_line(int argc, char *argv[], int client_type)
                        backend = 1;
                        break;
                case 'D':
+                       if (optarg)
+                               free(optarg);
                        pid_file = strdup(optarg);
                        break;
                case 'I':