From: Karel Zak Date: Wed, 5 Oct 2016 08:38:28 +0000 (+0200) Subject: findmnt: (verify) fix mem leak [coverity scan] X-Git-Tag: v2.29-rc2~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12fbe36f0fb208a25283b2752fd361b7cd358020;p=thirdparty%2Futil-linux.git findmnt: (verify) fix mem leak [coverity scan] --- diff --git a/misc-utils/findmnt-verify.c b/misc-utils/findmnt-verify.c index cfb35458ca..1430c945d2 100644 --- a/misc-utils/findmnt-verify.c +++ b/misc-utils/findmnt-verify.c @@ -180,7 +180,7 @@ static int verify_source(struct verify_context *vfy) const char *src = mnt_fs_get_srcpath(vfy->fs); char *t = NULL, *v = NULL; struct stat sb; - int isbind; + int isbind, rc = 0; /* source is NAME=value tag */ if (!src) { @@ -195,9 +195,10 @@ static int verify_source(struct verify_context *vfy) /* blkid is able to parse it, but libmount does not see it as a tag -- * it means unsupported tag */ - } else if (blkid_parse_tag_string(src, &t, &v) == 0 && stat(src, &sb) != 0) - return verify_err(vfy, _("unsupported source tag: %s"), src); - + } else if (blkid_parse_tag_string(src, &t, &v) == 0 && stat(src, &sb) != 0) { + rc = verify_err(vfy, _("unsupported source tag: %s"), src); + goto done; + } isbind = mnt_fs_get_option(vfy->fs, "bind", NULL, NULL) == 0; /* source is path */ @@ -217,7 +218,7 @@ static int verify_source(struct verify_context *vfy) done: free(t); free(v); - return 0; + return rc; } static int verify_options(struct verify_context *vfy)