X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fjournal%2Fjournald-native.c;h=f878dfc911a719a0501f961264a2e9b228f5d905;hb=f6422def2c10aa0dea1b872d2f187853e61bd015;hp=069114778b39926159f1e522fb377d4abe27a08d;hpb=f274ece0f76b5709408821e317e87aef76123db6;p=elogind.git diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c index 069114778..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();