From 8ea62c8d7f3f7f7e4057b93105cf979271aa13f4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 21 Sep 2010 19:40:23 +0100 Subject: leak: Free list of drives and mountpoints in guestfish. Previously the list of -a, -d, -m, -N parameters were leaked. This change frees them explicitly. This is not such an important fix since guestfish is a one-shot program, but it aids in finding other leaks in future. (Found by valgrind). --- fish/prep.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'fish/prep.c') diff --git a/fish/prep.c b/fish/prep.c index 8b830719..9a6b64ed 100644 --- a/fish/prep.c +++ b/fish/prep.c @@ -116,7 +116,7 @@ Use 'guestfish -N help' to list possible values for the -N parameter.\n"), } for (i = 0; i < data->prep->nr_params; ++i) - data->params[i] = data->prep->params[i].pdefault; + data->params[i] = bad_cast (data->prep->params[i].pdefault); /* Parse the optional parameters. */ const char *p = type_string + len; @@ -167,3 +167,15 @@ prep_error (prep_data *data, const char *filename, const char *fs, ...) exit (EXIT_FAILURE); } + +void +free_prep_data (prep_data *data) +{ + size_t i; + + for (i = 0; i < data->prep->nr_params; ++i) + if (data->params[i] != data->prep->params[i].pdefault) + free (data->params[i]); + free (data->params); + free (data); +} -- cgit