init: fix potential mem leak on multiple trigger options
authorJens Axboe <axboe@fb.com>
Mon, 5 Jan 2015 15:46:35 +0000 (08:46 -0700)
committerJens Axboe <axboe@fb.com>
Mon, 5 Jan 2015 15:46:35 +0000 (08:46 -0700)
Free the ones we already set, if any.

Signed-off-by: Jens Axboe <axboe@fb.com>
init.c

diff --git a/init.c b/init.c
index a0d4f8c797f092378ec80a067c0aa1afed15e416..bb53a1e2bc097a256172db7e46075bd5658704da 100644 (file)
--- a/init.c
+++ b/init.c
@@ -2276,12 +2276,18 @@ int parse_cmd_line(int argc, char *argv[], int client_type)
                        break;
                        }
                case 'W':
+                       if (trigger_file)
+                               free(trigger_file);
                        trigger_file = strdup(optarg);
                        break;
                case 'H':
+                       if (trigger_cmd)
+                               free(trigger_cmd);
                        trigger_cmd = strdup(optarg);
                        break;
                case 'J':
+                       if (trigger_remote_cmd)
+                               free(trigger_remote_cmd);
                        trigger_remote_cmd = strdup(optarg);
                        break;
                case 'B':