From: Andrew Bays Date: Wed, 18 Sep 2019 11:45:48 +0000 (-0400) Subject: Check for sysevent plugin init calloc failures X-Git-Tag: 5.10.0~13^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F3282%2Fhead;p=thirdparty%2Fcollectd.git Check for sysevent plugin init calloc failures --- diff --git a/src/sysevent.c b/src/sysevent.c index aab514144..7f9aa9f65 100644 --- a/src/sysevent.c +++ b/src/sysevent.c @@ -924,16 +924,26 @@ static int sysevent_init(void) /* {{{ */ ring.buffer = (char **)calloc(buffer_length, sizeof(char *)); if (ring.buffer == NULL) { - ERROR("sysevent plugin: sysevent_init calloc failed"); + ERROR("sysevent plugin: sysevent_init ring buffer calloc failed"); return -1; } for (int i = 0; i < buffer_length; i++) { ring.buffer[i] = calloc(1, listen_buffer_size); + + if (ring.buffer[i] == NULL) { + ERROR("sysevent plugin: sysevent_init ring buffer entry calloc failed"); + return -1; + } } ring.timestamp = (cdtime_t *)calloc(buffer_length, sizeof(cdtime_t)); + if (ring.timestamp == NULL) { + ERROR("sysevent plugin: sysevent_init ring buffer timestamp calloc failed"); + return -1; + } + if (sock == -1) { struct addrinfo hints = { .ai_family = AF_UNSPEC,