76 lines
2.4 KiB
Diff
76 lines
2.4 KiB
Diff
From 9a137580322bd863a48479755aee9c30d0a084e9 Mon Sep 17 00:00:00 2001
|
|
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
|
|
|
|
Signed-off-by: wangshouping <wangshouping@huawei.com>
|
|
---
|
|
plugins/imjournal/imjournal.c | 22 +++++++++++++---------
|
|
tools/rsyslogd.c | 2 +-
|
|
2 files changed, 14 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c
|
|
index 3a93b37..1656de7 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);
|
|
diff --git a/tools/rsyslogd.c b/tools/rsyslogd.c
|
|
index 6b531b1..7832693 100644
|
|
--- a/tools/rsyslogd.c
|
|
+++ b/tools/rsyslogd.c
|
|
@@ -266,7 +266,7 @@ static rsRetVal
|
|
writePidFile(void)
|
|
{
|
|
FILE *fp;
|
|
- int fd;
|
|
+ int fd = -1;
|
|
DEFiRet;
|
|
|
|
const char *tmpPidFile;
|
|
--
|
|
2.19.1
|
|
|