From ecf2350530f45fefe7bab75dc63ccf56a539e8b7 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 26 Jan 2018 21:16:37 +0100 Subject: [PATCH] bootargs: Fix memory leak in linux_bootargs_get() globalvar_get_match() returns an allocated string which may be empty. We have to free() the empty string aswell. Signed-off-by: Sascha Hauer --- common/bootargs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/bootargs.c b/common/bootargs.c index a89f23a3f..f0ab68915 100644 --- a/common/bootargs.c +++ b/common/bootargs.c @@ -56,19 +56,21 @@ const char *linux_bootargs_get(void) bootargs = basprintf("%s mtdparts=%s", linux_bootargs, parts); free(linux_bootargs); - free(parts); linux_bootargs = bootargs; } + free(parts); + parts = globalvar_get_match("linux.blkdevparts.", ";"); if (strlen(parts)) { bootargs = basprintf("%s blkdevparts=%s", linux_bootargs, parts); free(linux_bootargs); - free(parts); linux_bootargs = bootargs; } + free(parts); + return linux_bootargs; }