From 5ce33ba295e9e210aff7cb137998d8490583d516 Mon Sep 17 00:00:00 2001 From: wangshouping Date: Wed, 15 Apr 2020 03:07:55 -0400 Subject: [PATCH] rsyslog-8.37.0-initialize-variables-and-check-return-value Signed-off-by: wangshouping --- plugins/imjournal/imjournal.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c index aa27fe7..c5d3d25 100644 --- a/plugins/imjournal/imjournal.c +++ b/plugins/imjournal/imjournal.c @@ -386,7 +386,7 @@ readjournal(void) struct timeval tv; uint64_t timestamp; - uint64_t monotonic_timestamp; + uint64_t monotonic_timestamp = 0; struct fjson_object *json = NULL; int r; @@ -396,8 +396,8 @@ readjournal(void) char *sys_iden; char *sys_iden_help = NULL; - char *t; - char *tpmessage; + char *t = NULL; + char *tpmessage = NULL; const void *get; const void *pidget; @@ -508,13 +508,17 @@ readjournal(void) if (journalGetData("_SOURCE_MONOTONIC_TIMESTAMP", &get, &length) >= 0) { t = strndup(get+28, length-28); - monotonic_timestamp = atoll(t); - free(t); + if (t != NULL) { + monotonic_timestamp = atoll(t); + free(t); + } tpmessage = (char *)malloc(strlen(message)+30); - int ret = sprintf(tpmessage,"[%5lu.%06lu] ",monotonic_timestamp/1000000, monotonic_timestamp%1000000); - memcpy(tpmessage+(ret > 30 ? 0 :(ret < 0 ? 0:ret)),message,strlen(message)+1); - enqMsg((uchar *)tpmessage, (uchar *) sys_iden_help, facility, severity, &tv, json, 0); - free(tpmessage); + if (tpmessage != NULL) { + int ret = sprintf(tpmessage,"[%5lu.%06lu] ",monotonic_timestamp/1000000, monotonic_timestamp%1000000); + memcpy(tpmessage+(ret >= 30 ? 0 :(ret < 0 ? 0:ret)),message,strlen(message)+1); + enqMsg((uchar *)tpmessage, (uchar *) sys_iden_help, facility, severity, &tv, json, 0); + free(tpmessage); + } }else /* submit message */ enqMsg((uchar *)message, (uchar *) sys_iden_help, facility, severity, &tv, json, 0); -- 2.27.0