From 8e7a0c1622ff4a2afc2bbf835b135a46d111b514 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 20 Feb 2018 15:04:51 +0100 Subject: lsmem: fix memory leak [coverity scan] Signed-off-by: Karel Zak --- sys-utils/lsmem.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'sys-utils/lsmem.c') diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c index 19a727465..3e06e43be 100644 --- a/sys-utils/lsmem.c +++ b/sys-utils/lsmem.c @@ -323,12 +323,19 @@ static void print_summary(struct lsmem *lsmem) printf("%-23s %15"PRId64"\n",_("Total online memory:"), lsmem->mem_online); printf("%-23s %15"PRId64"\n",_("Total offline memory:"), lsmem->mem_offline); } else { - printf("%-23s %5s\n",_("Memory block size:"), - size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->block_size)); - printf("%-23s %5s\n",_("Total online memory:"), - size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_online)); - printf("%-23s %5s\n",_("Total offline memory:"), - size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_offline)); + char *p; + + if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->block_size))) + printf("%-23s %5s\n",_("Memory block size:"), p); + free(p); + + if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_online))) + printf("%-23s %5s\n",_("Total online memory:"), p); + free(p); + + if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_offline))) + printf("%-23s %5s\n",_("Total offline memory:"), p); + free(p); } } -- cgit v1.2.3-55-g7522