diff options
-rw-r--r-- | src/core/umount.c | 19 | ||||
-rw-r--r-- | src/cryptsetup/cryptsetup.c | 2 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/core/umount.c b/src/core/umount.c index 1e5459ed80..2f4b12bdb9 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -344,24 +344,29 @@ static int delete_loopback(const char *device) { } static int delete_dm(dev_t devnum) { - _cleanup_close_ int fd = -1; - int r; + struct dm_ioctl dm = { - .version = {DM_VERSION_MAJOR, - DM_VERSION_MINOR, - DM_VERSION_PATCHLEVEL}, + .version = { + DM_VERSION_MAJOR, + DM_VERSION_MINOR, + DM_VERSION_PATCHLEVEL + }, .data_size = sizeof(dm), .dev = devnum, }; + _cleanup_close_ int fd = -1; + assert(major(devnum) != 0); fd = open("/dev/mapper/control", O_RDWR|O_CLOEXEC); if (fd < 0) return -errno; - r = ioctl(fd, DM_DEV_REMOVE, &dm); - return r >= 0 ? 0 : -errno; + if (ioctl(fd, DM_DEV_REMOVE, &dm) < 0) + return -errno; + + return 0; } static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_error) { diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 01e7ee9973..c7fec609df 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -651,7 +651,7 @@ int main(int argc, char *argv[]) { k = crypt_init(&cd, arg_header); } else k = crypt_init(&cd, argv[3]); - if (k) { + if (k != 0) { log_error_errno(k, "crypt_init() failed: %m"); goto finish; } |