From ecf2350530f45fefe7bab75dc63ccf56a539e8b7 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 26 Jan 2018 21:16:37 +0100 Subject: 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(-) (limited to 'common/bootargs.c') diff --git a/common/bootargs.c b/common/bootargs.c index a89f23a3f2..f0ab689158 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; } -- cgit v1.2.3