From: Karel Zak Date: Tue, 19 Nov 2013 16:52:56 +0000 (+0100) Subject: libblkid: fix memory leak in blkid_parse_tag_string() X-Git-Tag: v2.25-rc1~722 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1178175e7adb35388a3e34495974d7f24f45d5d;p=thirdparty%2Futil-linux.git libblkid: fix memory leak in blkid_parse_tag_string() Signed-off-by: Karel Zak --- diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c index 3a70950137..e095ab1beb 100644 --- a/libblkid/src/tag.c +++ b/libblkid/src/tag.c @@ -237,14 +237,18 @@ int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val) goto errout; /* missing closing quote */ *cp = '\0'; } - value = value && *value ? strdup(value) : NULL; - if (!value) - goto errout; + + if (ret_val) { + value = value && *value ? strdup(value) : NULL; + if (!value) + goto errout; + *ret_val = value; + } if (ret_type) *ret_type = name; - if (ret_val) - *ret_val = value; + else + free(name); return 0;