From 5862d652ba14178cff46b8a8fc6c6d8392bf32b1 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Thu, 3 Oct 2013 22:13:55 -0400 Subject: Introduce _cleanup_endmntent_ --- src/cryptsetup/cryptsetup.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src/cryptsetup') diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 769c3e4f31..4f2f52a28a 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -236,31 +236,24 @@ finish: } static char *disk_mount_point(const char *label) { - char *mp = NULL; _cleanup_free_ char *device = NULL; - FILE *f = NULL; + _cleanup_endmntent_ FILE *f = NULL; struct mntent *m; /* Yeah, we don't support native systemd unit files here for now */ if (asprintf(&device, "/dev/mapper/%s", label) < 0) - goto finish; + return NULL; f = setmntent("/etc/fstab", "r"); if (!f) - goto finish; + return NULL; while ((m = getmntent(f))) - if (path_equal(m->mnt_fsname, device)) { - mp = strdup(m->mnt_dir); - break; - } - -finish: - if (f) - endmntent(f); + if (path_equal(m->mnt_fsname, device)) + return strdup(m->mnt_dir); - return mp; + return NULL; } static int get_password(const char *name, usec_t until, bool accept_cached, char ***passwords) { -- cgit v1.2.3-54-g00ecf