rsroka / rpms / rsyslog

Forked from rpms/rsyslog 6 years ago
Clone
Tomas Heinrich d273ad4
From cb89fe867c0e375433fec96193f27e2766bd529a Mon Sep 17 00:00:00 2001
Tomas Heinrich d273ad4
From: Tomas Heinrich <theinric@redhat.com>
Tomas Heinrich d273ad4
Date: Tue, 23 Jun 2015 18:09:52 +0200
Tomas Heinrich d273ad4
Subject: [PATCH] imjournal: don't sanitize empty messages
Tomas Heinrich d273ad4
Tomas Heinrich d273ad4
It is an error to pass an empty message to
Tomas Heinrich d273ad4
parser.SanitizeMsg() and doing so could crash the daemon. Besides,
Tomas Heinrich d273ad4
there's no point in doing so in the first place.
Tomas Heinrich d273ad4
---
Tomas Heinrich d273ad4
 plugins/imjournal/imjournal.c | 7 +++++--
Tomas Heinrich d273ad4
 1 file changed, 5 insertions(+), 2 deletions(-)
Tomas Heinrich d273ad4
Tomas Heinrich d273ad4
diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c
Tomas Heinrich d273ad4
index 7c2c2fa..5406b10 100644
Tomas Heinrich d273ad4
--- a/plugins/imjournal/imjournal.c
Tomas Heinrich d273ad4
+++ b/plugins/imjournal/imjournal.c
Tomas Heinrich d273ad4
@@ -176,6 +176,7 @@ enqMsg(uchar *msg, uchar *pszTag, int iFacility, int iSeverity, struct timeval *
Tomas Heinrich d273ad4
 {
Tomas Heinrich d273ad4
 	struct syslogTime st;
Tomas Heinrich d273ad4
 	msg_t *pMsg;
Tomas Heinrich d273ad4
+	size_t len;
Tomas Heinrich d273ad4
 	DEFiRet;
Tomas Heinrich d273ad4
 
Tomas Heinrich d273ad4
 	assert(msg != NULL);
Tomas Heinrich d273ad4
@@ -189,8 +190,10 @@ enqMsg(uchar *msg, uchar *pszTag, int iFacility, int iSeverity, struct timeval *
Tomas Heinrich d273ad4
 	}
Tomas Heinrich d273ad4
 	MsgSetFlowControlType(pMsg, eFLOWCTL_LIGHT_DELAY);
Tomas Heinrich d273ad4
 	MsgSetInputName(pMsg, pInputName);
Tomas Heinrich d273ad4
-	MsgSetRawMsgWOSize(pMsg, (char*)msg);
Tomas Heinrich d273ad4
-	parser.SanitizeMsg(pMsg);
Tomas Heinrich d273ad4
+	len = strlen((char*)msg);
Tomas Heinrich d273ad4
+	MsgSetRawMsg(pMsg, (char*)msg, len);
Tomas Heinrich d273ad4
+	if(len > 0)
Tomas Heinrich d273ad4
+		parser.SanitizeMsg(pMsg);
Tomas Heinrich d273ad4
 	MsgSetMSGoffs(pMsg, 0);	/* we do not have a header... */
Tomas Heinrich d273ad4
 	MsgSetRcvFrom(pMsg, glbl.GetLocalHostNameProp());
Tomas Heinrich d273ad4
 	MsgSetRcvFromIP(pMsg, pLocalHostIP);
Tomas Heinrich d273ad4
-- 
Tomas Heinrich d273ad4
1.9.3
Tomas Heinrich d273ad4