From 37cd29521a01135335d0d0657829a182fa261a74 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Wed, 27 Nov 2013 18:14:58 +0100 Subject: btrfs-progs: call endmntent in btrfs_scan_kernel btrfs_scan_kernel() does a getmntent() but never releases the filedescriptor it gets back from that. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64711 Reported-by: Arjan van de Ven Signed-off-by: David Sterba Signed-off-by: Chris Mason --- cmds-filesystem.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cmds-filesystem.c b/cmds-filesystem.c index 8296fa1e..8e4754f8 100644 --- a/cmds-filesystem.c +++ b/cmds-filesystem.c @@ -449,11 +449,12 @@ static int btrfs_scan_kernel(void *search) ret = get_fs_info(mnt->mnt_dir, &fs_info_arg, &dev_info_arg); if (ret) - return ret; + goto out; if (get_label_mounted(mnt->mnt_dir, label)) { kfree(dev_info_arg); - return 1; + ret = 1; + goto out; } if (search && !match_search_item_kernel(fs_info_arg.fsid, mnt->mnt_dir, label, search)) { @@ -472,11 +473,14 @@ static int btrfs_scan_kernel(void *search) close(fd); kfree(dev_info_arg); if (search) - return 0; + ret = 0; } if (search) - return 1; - return 0; + ret = 1; + +out: + endmntent(f); + return ret; } static const char * const cmd_show_usage[] = { -- cgit v1.2.3