X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fcoredump.c;fp=src%2Fjournal%2Fcoredump.c;h=26953cc5b033b88bb4f9d6b7de2d79a5eb87584d;hb=4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4f;hp=a871c570ca7d5f9c84ca1a47602df823e1c65790;hpb=56f64d95763a799ba4475daf44d8e9f72a1bd474;p=elogind.git diff --git a/src/journal/coredump.c b/src/journal/coredump.c index a871c570c..26953cc5b 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -142,10 +142,8 @@ static int fix_acl(int fd, uid_t uid) { * their own coredumps */ acl = acl_get_fd(fd); - if (!acl) { - log_error_errno(errno, "Failed to get ACL: %m"); - return -errno; - } + if (!acl) + return log_error_errno(errno, "Failed to get ACL: %m"); if (acl_create_entry(&acl, &entry) < 0 || acl_set_tag_type(entry, ACL_USER) < 0 || @@ -161,10 +159,8 @@ static int fix_acl(int fd, uid_t uid) { return -errno; } - if (acl_set_fd(fd, acl) < 0) { - log_error_errno(errno, "Failed to apply ACL: %m"); - return -errno; - } + if (acl_set_fd(fd, acl) < 0) + return log_error_errno(errno, "Failed to apply ACL: %m"); #endif return 0; @@ -223,15 +219,11 @@ static int fix_permissions( fix_acl(fd, uid); fix_xattr(fd, info); - if (fsync(fd) < 0) { - log_error_errno(errno, "Failed to sync coredump %s: %m", filename); - return -errno; - } + if (fsync(fd) < 0) + return log_error_errno(errno, "Failed to sync coredump %s: %m", filename); - if (rename(filename, target) < 0) { - log_error_errno(errno, "Failed to rename coredump %s -> %s: %m", filename, target); - return -errno; - } + if (rename(filename, target) < 0) + return log_error_errno(errno, "Failed to rename coredump %s -> %s: %m", filename, target); return 0; } @@ -247,10 +239,8 @@ static int maybe_remove_external_coredump(const char *filename, off_t size) { if (!filename) return 1; - if (unlink(filename) < 0 && errno != ENOENT) { - log_error_errno(errno, "Failed to unlink %s: %m", filename); - return -errno; - } + if (unlink(filename) < 0 && errno != ENOENT) + return log_error_errno(errno, "Failed to unlink %s: %m", filename); return 1; } @@ -322,10 +312,8 @@ static int save_external_coredump( mkdir_p_label("/var/lib/systemd/coredump", 0755); fd = open(tmp, O_CREAT|O_EXCL|O_RDWR|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW, 0640); - if (fd < 0) { - log_error_errno(errno, "Failed to create coredump file %s: %m", tmp); - return -errno; - } + if (fd < 0) + return log_error_errno(errno, "Failed to create coredump file %s: %m", tmp); r = copy_bytes(STDIN_FILENO, fd, arg_process_size_max); if (r == -EFBIG) { @@ -429,10 +417,8 @@ static int allocate_journal_field(int fd, size_t size, char **ret, size_t *ret_s assert(ret); assert(ret_size); - if (lseek(fd, 0, SEEK_SET) == (off_t) -1) { - log_warning_errno(errno, "Failed to seek: %m"); - return -errno; - } + if (lseek(fd, 0, SEEK_SET) == (off_t) -1) + return log_warning_errno(errno, "Failed to seek: %m"); field = malloc(9 + size); if (!field) {