summaryrefslogtreecommitdiffstats
path: root/lib/mangle.c
diff options
context:
space:
mode:
authorCong Wang2012-06-20 10:42:05 +0200
committerKarel Zak2012-06-21 08:21:43 +0200
commita0b25068abe2931dc666b216b88bb837579cc60c (patch)
tree64579fb2e75f01e1864a8abc79f9e4a1d457ccce /lib/mangle.c
parentlib/sysfs: check if cxt->dir_path is NULL in sysfs_readlink() (diff)
downloadkernel-qcow2-util-linux-a0b25068abe2931dc666b216b88bb837579cc60c.tar.gz
kernel-qcow2-util-linux-a0b25068abe2931dc666b216b88bb837579cc60c.tar.xz
kernel-qcow2-util-linux-a0b25068abe2931dc666b216b88bb837579cc60c.zip
lib/mangle: fix a memory leak in the test case
Marek reported there is a memory leak in lib/mangle.c CC mangle.o mangle.c:160:9: warning: Memory is never released; potential leak of memory pointed to by 'ss' This patch fixes it. Reported-by: Marek Otahal <markotahal@gmail.com> Cc: Karel Zak <kzak@redhat.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Diffstat (limited to 'lib/mangle.c')
-rw-r--r--lib/mangle.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/mangle.c b/lib/mangle.c
index 656918c4b..faddeb879 100644
--- a/lib/mangle.c
+++ b/lib/mangle.c
@@ -131,14 +131,18 @@ char *unmangle(const char *s, char **end)
#include <errno.h>
int main(int argc, char *argv[])
{
+ char *p = NULL;
if (argc < 3) {
fprintf(stderr, "usage: %s --mangle|unmangle <string>\n",
program_invocation_short_name);
return EXIT_FAILURE;
}
- if (!strcmp(argv[1], "--mangle"))
- printf("mangled: '%s'\n", mangle(argv[2]));
+ if (!strcmp(argv[1], "--mangle")) {
+ p = mangle(argv[2]);
+ printf("mangled: '%s'\n", p);
+ free(p);
+ }
else if (!strcmp(argv[1], "--unmangle")) {
char *x = unmangle(argv[2], NULL);