diff options
author | Cong Wang <xiyou.wangcong@gmail.com> | 2012-06-20 16:42:05 +0800 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2012-06-21 08:21:43 +0200 |
commit | a0b25068abe2931dc666b216b88bb837579cc60c (patch) | |
tree | 64579fb2e75f01e1864a8abc79f9e4a1d457ccce | |
parent | cffee0de0cf7c0d44323a830beb313d5ae18247d (diff) | |
download | util-linux-a0b25068abe2931dc666b216b88bb837579cc60c.tar.gz |
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>
-rw-r--r-- | lib/mangle.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/mangle.c b/lib/mangle.c index 656918c4..faddeb87 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); |