From 12fbe36f0fb208a25283b2752fd361b7cd358020 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 5 Oct 2016 10:38:28 +0200 Subject: [PATCH] findmnt: (verify) fix mem leak [coverity scan] --- misc-utils/findmnt-verify.c | 11 ++++++----- 1 file 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) -- 2.47.3