summaryrefslogtreecommitdiffstats
path: root/misc-utils/findmnt.c
diff options
context:
space:
mode:
authorKarel Zak2014-07-17 15:00:17 +0200
committerKarel Zak2014-07-17 15:00:17 +0200
commitaea3a3ba2ccaa11e66d50f4b4658e33d6675715a (patch)
treea4f7c16b8f9bfe7d13864b9d537fdb38883b547e /misc-utils/findmnt.c
parentsulogin: don't use uninitialized struct sigaction [coverity scan] (diff)
downloadkernel-qcow2-util-linux-aea3a3ba2ccaa11e66d50f4b4658e33d6675715a.tar.gz
kernel-qcow2-util-linux-aea3a3ba2ccaa11e66d50f4b4658e33d6675715a.tar.xz
kernel-qcow2-util-linux-aea3a3ba2ccaa11e66d50f4b4658e33d6675715a.zip
findmnt: fix memory leak [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/findmnt.c')
-rw-r--r--misc-utils/findmnt.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
index 847c349a2..c710cbb00 100644
--- a/misc-utils/findmnt.c
+++ b/misc-utils/findmnt.c
@@ -711,16 +711,21 @@ static int has_line(struct libscols_table *table, struct libmnt_fs *fs)
{
struct libscols_line *ln;
struct libscols_iter *itr;
+ int rc = 0;
itr = scols_new_iter(SCOLS_ITER_FORWARD);
if (!itr)
return 0;
- while(scols_table_next_line(table, itr, &ln) == 0) {
- if ((struct libmnt_fs *) scols_line_get_userdata(ln) == fs)
- return 1;
+ while (scols_table_next_line(table, itr, &ln) == 0) {
+ if ((struct libmnt_fs *) scols_line_get_userdata(ln) == fs) {
+ rc = 1;
+ break;
+ }
}
- return 0;
+
+ scols_free_iter(itr);
+ return rc;
}
/* reads filesystems from @tb (libmount) and fillin @table (output table) */