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 <david.oberhollenzer@xxxxxxxxxxxxx> --- 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) -- 2.21.0 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/