X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fumount.c;h=d1258f0f08b299244f3635e38fa536c4598fbebd;hp=30111bea80d2bb18039cf3c05a58381302fb3be0;hb=03e334a1c7dc8c20c38902aa039440763acc9b17;hpb=06acf2d46a38bec212d78094e6ef8b100679048a diff --git a/src/core/umount.c b/src/core/umount.c index 30111bea8..d1258f0f0 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -170,7 +170,7 @@ static int swap_list_get(MountPoint **head) { continue; } - if (endswith(dev, "(deleted)")) { + if (endswith(dev, " (deleted)")) { free(dev); continue; } @@ -329,14 +329,14 @@ static int dm_list_get(MountPoint **head) { } static int delete_loopback(const char *device) { - int fd, r; + _cleanup_close_ int fd = -1; + int r; - if ((fd = open(device, O_RDONLY|O_CLOEXEC)) < 0) + fd = open(device, O_RDONLY|O_CLOEXEC); + if (fd < 0) return errno == ENOENT ? 0 : -errno; r = ioctl(fd, LOOP_CLR_FD, 0); - close_nointr_nofail(fd); - if (r >= 0) return 1;