diff options
author | Karel Zak | 2018-02-20 15:04:51 +0100 |
---|---|---|
committer | Karel Zak | 2018-02-20 15:04:51 +0100 |
commit | 8e7a0c1622ff4a2afc2bbf835b135a46d111b514 (patch) | |
tree | 7d50a189e9b5b98cc19d4c5b5caada9f8f528b1a /sys-utils/lsmem.c | |
parent | lsns: remove if-after-xcalloc (diff) | |
download | kernel-qcow2-util-linux-8e7a0c1622ff4a2afc2bbf835b135a46d111b514.tar.gz kernel-qcow2-util-linux-8e7a0c1622ff4a2afc2bbf835b135a46d111b514.tar.xz kernel-qcow2-util-linux-8e7a0c1622ff4a2afc2bbf835b135a46d111b514.zip |
lsmem: fix memory leak [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/lsmem.c')
-rw-r--r-- | sys-utils/lsmem.c | 19 |
1 files changed, 13 insertions, 6 deletions
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); } } |