aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2016-10-05 10:38:28 +0200
committerKarel Zak <kzak@redhat.com>2016-10-05 10:52:24 +0200
commit12fbe36f0fb208a25283b2752fd361b7cd358020 (patch)
treea413ebf96a0961471a6351922c9e4c495d63d00b
parent17dd04c92ad82566984dc9f37d2e9775acadc96b (diff)
downloadutil-linux-12fbe36f0fb208a25283b2752fd361b7cd358020.tar.gz
findmnt: (verify) fix mem leak [coverity scan]
-rw-r--r--misc-utils/findmnt-verify.c11
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)