diff options
Diffstat (limited to 'src/journal/journald-audit.c')
-rw-r--r-- | src/journal/journald-audit.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/journal/journald-audit.c b/src/journal/journald-audit.c index 87726684af..345e43ef44 100644 --- a/src/journal/journald-audit.c +++ b/src/journal/journald-audit.c @@ -313,7 +313,7 @@ static int map_all_fields( } } -static void process_audit_string(Server *s, int type, const char *data, size_t size) { +void process_audit_string(Server *s, int type, const char *data, size_t size) { size_t n_iov_allocated = 0, n_iov = 0, z; _cleanup_free_ struct iovec *iov = NULL; uint64_t seconds, msec, id; @@ -341,11 +341,12 @@ static void process_audit_string(Server *s, int type, const char *data, size_t s if (!p) return; + k = 0; if (sscanf(p, "(%" PRIu64 ".%" PRIu64 ":%" PRIu64 "):%n", &seconds, &msec, &id, - &k) != 3) + &k) != 3 || k == 0) return; p += k; @@ -497,7 +498,6 @@ static int enable_audit(int fd, bool b) { } int server_open_audit(Server *s) { - static const int one = 1; int r; if (s->audit_fd < 0) { @@ -526,11 +526,11 @@ int server_open_audit(Server *s) { return 0; } } else - fd_nonblock(s->audit_fd, 1); + (void) fd_nonblock(s->audit_fd, true); - r = setsockopt(s->audit_fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); + r = setsockopt_int(s->audit_fd, SOL_SOCKET, SO_PASSCRED, true); if (r < 0) - return log_error_errno(errno, "Failed to set SO_PASSCRED on audit socket: %m"); + return log_error_errno(r, "Failed to set SO_PASSCRED on audit socket: %m"); r = sd_event_add_io(s->event, &s->audit_event_source, s->audit_fd, EPOLLIN, server_process_datagram, s); if (r < 0) |