From: Karel Zak Date: Tue, 20 Feb 2018 14:04:51 +0000 (+0100) Subject: lsmem: fix memory leak [coverity scan] X-Git-Tag: v2.32-rc2~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e7a0c1622ff4a2afc2bbf835b135a46d111b514;p=thirdparty%2Futil-linux.git lsmem: fix memory leak [coverity scan] Signed-off-by: Karel Zak --- diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c index 19a7274656..3e06e43be7 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); } }