diff options
author | Karel Zak <kzak@redhat.com> | 2016-10-05 10:38:28 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2016-10-05 10:52:24 +0200 |
commit | 12fbe36f0fb208a25283b2752fd361b7cd358020 (patch) | |
tree | a413ebf96a0961471a6351922c9e4c495d63d00b | |
parent | 17dd04c92ad82566984dc9f37d2e9775acadc96b (diff) | |
download | util-linux-12fbe36f0fb208a25283b2752fd361b7cd358020.tar.gz |
findmnt: (verify) fix mem leak [coverity scan]
-rw-r--r-- | misc-utils/findmnt-verify.c | 11 |
1 files changed, 6 insertions, 5 deletions
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) |