X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournald-native.c;h=f878dfc911a719a0501f961264a2e9b228f5d905;hb=44a6b1b68029833893f6e9cee35aa27a974038f6;hp=ac3183ece3ec89909df43c20c0b7ba063ff461a7;hpb=d025f1e4dca8fc1436aff76f9e6185fe3e728daa;p=elogind.git diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c index ac3183ece..f878dfc91 100644 --- a/src/journal/journald-native.c +++ b/src/journal/journald-native.c @@ -31,8 +31,10 @@ #include "journald-console.h" #include "journald-syslog.h" -#define ENTRY_SIZE_MAX (1024*1024*64) -#define DATA_SIZE_MAX (1024*1024*64) +/* Make sure not to make this smaller than the maximum coredump + * size. See COREDUMP_MAX in coredump.c */ +#define ENTRY_SIZE_MAX (1024*1024*768) +#define DATA_SIZE_MAX (1024*1024*768) static bool valid_user_field(const char *p, size_t l) { const char *a; @@ -121,11 +123,12 @@ void server_process_native_message( /* A property follows */ - if (n+N_IOVEC_META_FIELDS >= m) { + /* n received properties, +1 for _TRANSPORT */ + if (n + 1 + N_IOVEC_META_FIELDS >= m) { struct iovec *c; unsigned u; - u = MAX((n+N_IOVEC_META_FIELDS+1) * 2U, 4U); + u = MAX((n + 1 + N_IOVEC_META_FIELDS) * 2U, 4U); c = realloc(iovec, u * sizeof(struct iovec)); if (!c) { log_oom(); @@ -396,7 +399,7 @@ int server_open_native_socket(Server*s) { #ifdef HAVE_SELINUX one = 1; - r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_PASSSEC, &one, sizeof(one)); + r = setsockopt(s->native_fd, SOL_SOCKET, SO_PASSSEC, &one, sizeof(one)); if (r < 0) log_warning("SO_PASSSEC failed: %m"); #endif