From 1538c553302dae1df9088ec302a5b2fb5a15174f Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 10 Nov 2019 13:41:41 +0100 Subject: mkfs.ubifs: don't leak copied command line arguments For some command line flags, the argument string is copied. Simply writing over the buffer leads to a resource leak if the same flag is specified on the command line more than once. This patch adds a free() call to the old buffer before overwriting it with the new copy. Signed-off-by: David Oberhollenzer --- ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c index bf1290f..ea0afee 100644 --- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c +++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c @@ -580,6 +580,7 @@ static int get_options(int argc, char**argv) switch (opt) { case 'r': case 'd': + free(root); root_len = strlen(optarg); root = xmalloc(root_len + 2); @@ -726,6 +727,7 @@ static int get_options(int argc, char**argv) do_create_inum_attr = 1; break; case 's': + free(context); context_len = strlen(optarg); context = (char *) xmalloc(context_len + 1); if (!context) -- cgit v1.2.3