diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-09-10 15:05:36 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-09-10 15:05:36 +0200 |
commit | b34a23c6523de492e02f064a73a93abcea670667 (patch) | |
tree | c6fba692cacd8b26529c2384eb6821f48bc2fdf2 /runtime/msg.c | |
parent | 5f76568d3707cbbadfa3767558ded52cf5f27f47 (diff) | |
parent | 78e9c7c4d2c4ec09cce403066f09a5a7e08e994e (diff) | |
download | rsyslog-b34a23c6523de492e02f064a73a93abcea670667.tar.gz rsyslog-b34a23c6523de492e02f064a73a93abcea670667.tar.bz2 rsyslog-b34a23c6523de492e02f064a73a93abcea670667.zip |
Merge branch 'v4-beta' into v4-devel
Diffstat (limited to 'runtime/msg.c')
-rw-r--r-- | runtime/msg.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/runtime/msg.c b/runtime/msg.c index de298871..2a370618 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -864,13 +864,17 @@ msg_t* MsgDup(msg_t* pOld) pNew->iProtocolVersion = pOld->iProtocolVersion; pNew->ttGenTime = pOld->ttGenTime; pNew->offMSG = pOld->offMSG; + pNew->iLenRawMsg = pOld->iLenRawMsg; + pNew->iLenMSG = pOld->iLenMSG; + pNew->iLenTAG = pOld->iLenTAG; + pNew->iLenHOSTNAME = pOld->iLenHOSTNAME; if(pOld->pRcvFrom != NULL) { pNew->pRcvFrom = pOld->pRcvFrom; prop.AddRef(pNew->pRcvFrom); } if(pOld->pRcvFromIP != NULL) { pNew->pRcvFromIP = pOld->pRcvFromIP; - prop.AddRef(pNew->pRcvFromIP); /* XXX */ + prop.AddRef(pNew->pRcvFromIP); } if(pOld->pInputName != NULL) { pNew->pInputName = pOld->pInputName; @@ -1972,10 +1976,11 @@ rsRetVal MsgReplaceMSG(msg_t *pThis, uchar* pszMSG, int lenMSG) lenNew = pThis->iLenRawMsg + lenMSG - pThis->iLenMSG; if(lenMSG > pThis->iLenMSG && lenNew >= CONF_RAWMSG_BUFSIZE) { - /* we have lost and need to alloc a new buffer ;) */ + /* we have lost our "bet" and need to alloc a new buffer ;) */ CHKmalloc(bufNew = malloc(lenNew + 1)); memcpy(bufNew, pThis->pszRawMsg, pThis->offMSG); - free(pThis->pszRawMsg); + if(pThis->pszRawMsg != pThis->szRawMsg) + free(pThis->pszRawMsg); pThis->pszRawMsg = bufNew; } |