X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjournal%2Fjournald-stream.c;h=6d51c29083505ef0c0486972b2a04faaee7eef3d;hp=3e4022ad6942cb4e086ed70c4d49ec24ffa20948;hb=4826f0b7b5c0aefa08b8cc7ef64d69027f84da2c;hpb=3b7124a8db56ed57525b9ecfd19cfdc8c9facba0 diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c index 3e4022ad6..6d51c2908 100644 --- a/src/journal/journald-stream.c +++ b/src/journal/journald-stream.c @@ -21,6 +21,7 @@ #include #include +#include #include #ifdef HAVE_SELINUX @@ -28,7 +29,7 @@ #endif #include "socket-util.h" -#include "journald.h" +#include "journald-server.h" #include "journald-stream.h" #include "journald-syslog.h" #include "journald-kmsg.h" @@ -174,7 +175,7 @@ static int stdout_stream_line(StdoutStream *s, char *p) { case STDOUT_STREAM_PRIORITY: r = safe_atoi(p, &s->priority); - if (r < 0 || s->priority <= 0 || s->priority >= 999) { + if (r < 0 || s->priority < 0 || s->priority > 999) { log_warning("Failed to parse log priority line."); return -EINVAL; } @@ -411,13 +412,16 @@ fail: } int server_open_stdout_socket(Server *s) { - union sockaddr_union sa; int r; struct epoll_event ev; assert(s); if (s->stdout_fd < 0) { + union sockaddr_union sa = { + .un.sun_family = AF_UNIX, + .un.sun_path = "/run/systemd/journal/stdout", + }; s->stdout_fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); if (s->stdout_fd < 0) { @@ -425,10 +429,6 @@ int server_open_stdout_socket(Server *s) { return -errno; } - zero(sa); - sa.un.sun_family = AF_UNIX; - strncpy(sa.un.sun_path, "/run/systemd/journal/stdout", sizeof(sa.un.sun_path)); - unlink(sa.un.sun_path); r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));