diff options
author | Karel Zak | 2016-10-05 10:38:28 +0200 |
---|---|---|
committer | Karel Zak | 2016-10-05 10:52:24 +0200 |
commit | 12fbe36f0fb208a25283b2752fd361b7cd358020 (patch) | |
tree | a413ebf96a0961471a6351922c9e4c495d63d00b /misc-utils/findmnt-verify.c | |
parent | isosize: fix read() result check (diff) | |
download | kernel-qcow2-util-linux-12fbe36f0fb208a25283b2752fd361b7cd358020.tar.gz kernel-qcow2-util-linux-12fbe36f0fb208a25283b2752fd361b7cd358020.tar.xz kernel-qcow2-util-linux-12fbe36f0fb208a25283b2752fd361b7cd358020.zip |
findmnt: (verify) fix mem leak [coverity scan]
Diffstat (limited to 'misc-utils/findmnt-verify.c')
-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 cfb35458c..1430c945d 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) |