From 791b16ce06d75944e338a6e5fa14c0394bde6f1d Mon Sep 17 00:00:00 2001 From: Kaiwang Chen Date: Mon, 9 Jan 2012 14:32:52 +0100 Subject: bugfix: instabilities when using RFC5424 header fields Signed-off-by: Rainer Gerhards --- ChangeLog | 2 ++ runtime/msg.c | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 42cfac2a..1425bc66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ --------------------------------------------------------------------------- Version 5.8.7 [V5-stable] 2011-??-?? +- bugfix: instabilities when using RFC5424 header fields + Thanks to Kaiwang Chen for the patch - bugfix: imuxsock did truncate part of received message if it did not contain a proper date. The truncation occured because we removed that part of the messages that was expected to be the date. diff --git a/runtime/msg.c b/runtime/msg.c index 0744edd5..31863b2d 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -7,7 +7,7 @@ * of the "old" message code without any modifications. However, it * helps to have things at the right place one we go to the meat of it. * - * Copyright 2007, 2008 Rainer Gerhards and Adiscon GmbH. + * Copyright 2007-2012 Rainer Gerhards and Adiscon GmbH. * * This file is part of the rsyslog runtime library. * @@ -1609,7 +1609,7 @@ char *getPROCID(msg_t *pM, sbool bLockMutex) ISOBJ_TYPE_assert(pM, msg); if(bLockMutex == LOCK_MUTEX) - MsgUnlock(pM); + MsgLock(pM); preparePROCID(pM, MUTEX_ALREADY_LOCKED); if(pM->pCSPROCID == NULL) pszRet = UCHAR_CONSTANT(""); @@ -1846,7 +1846,7 @@ static inline char *getStructuredData(msg_t *pM) { uchar *pszRet; - MsgUnlock(pM); + MsgLock(pM); if(pM->pCSStrucData == NULL) pszRet = UCHAR_CONSTANT("-"); else @@ -1894,7 +1894,7 @@ uchar *getProgramName(msg_t *pM, sbool bLockMutex) uchar *pszRet; if(bLockMutex == LOCK_MUTEX) - MsgUnlock(pM); + MsgLock(pM); prepareProgramName(pM, MUTEX_ALREADY_LOCKED); if(pM->pCSProgName == NULL) pszRet = UCHAR_CONSTANT(""); @@ -1952,7 +1952,7 @@ char *getAPPNAME(msg_t *pM, sbool bLockMutex) assert(pM != NULL); if(bLockMutex == LOCK_MUTEX) - MsgUnlock(pM); + MsgLock(pM); prepareAPPNAME(pM, MUTEX_ALREADY_LOCKED); if(pM->pCSAPPNAME == NULL) pszRet = UCHAR_CONSTANT(""); -- cgit