rsyslog/rsyslog-8.37.0-initialize-variables-and-check-return-value.patch

61 lines
2.1 KiB
Diff
Raw Normal View History

From 5ce33ba295e9e210aff7cb137998d8490583d516 Mon Sep 17 00:00:00 2001
2020-05-11 15:20:45 +08:00
From: wangshouping <wangshouping@huawei.com>
Date: Wed, 15 Apr 2020 03:07:55 -0400
Subject: [PATCH] rsyslog-8.37.0-initialize-variables-and-check-return-value
2019-09-30 11:16:30 -04:00
2020-05-11 15:20:45 +08:00
Signed-off-by: wangshouping <wangshouping@huawei.com>
2019-09-30 11:16:30 -04:00
---
plugins/imjournal/imjournal.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
2019-09-30 11:16:30 -04:00
diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c
index aa27fe7..c5d3d25 100644
2019-09-30 11:16:30 -04:00
--- a/plugins/imjournal/imjournal.c
+++ b/plugins/imjournal/imjournal.c
2020-05-11 15:20:45 +08:00
@@ -386,7 +386,7 @@ readjournal(void)
2019-09-30 11:16:30 -04:00
struct timeval tv;
uint64_t timestamp;
- uint64_t monotonic_timestamp;
+ uint64_t monotonic_timestamp = 0;
2020-05-11 15:20:45 +08:00
struct fjson_object *json = NULL;
2019-09-30 11:16:30 -04:00
int r;
2020-05-11 15:20:45 +08:00
@@ -396,8 +396,8 @@ readjournal(void)
char *sys_iden;
2019-09-30 11:16:30 -04:00
char *sys_iden_help = NULL;
- char *t;
- char *tpmessage;
+ char *t = NULL;
+ char *tpmessage = NULL;
const void *get;
const void *pidget;
2020-05-11 15:20:45 +08:00
@@ -508,13 +508,17 @@ readjournal(void)
if (journalGetData("_SOURCE_MONOTONIC_TIMESTAMP", &get, &length) >= 0)
2019-09-30 11:16:30 -04:00
{
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);
2019-12-13 16:07:25 +08:00
+ memcpy(tpmessage+(ret >= 30 ? 0 :(ret < 0 ? 0:ret)),message,strlen(message)+1);
2019-09-30 11:16:30 -04:00
+ 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