diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-08-21 16:48:00 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-08-21 16:48:00 +0200 |
commit | d8ab04b533a6d2fc224e1931463b91508cc6d701 (patch) | |
tree | 5e19ce23633835c7846a43a6ac8611d3deaa1e67 | |
parent | fc5c09a7224c2550249aefb19f021a7fabf2c010 (diff) | |
download | rsyslog-d8ab04b533a6d2fc224e1931463b91508cc6d701.tar.gz rsyslog-d8ab04b533a6d2fc224e1931463b91508cc6d701.tar.xz rsyslog-d8ab04b533a6d2fc224e1931463b91508cc6d701.zip |
bugfix: strings improperly reused [backported from v5]
... resulting in some message properties be populated with strings from
previous messages. This was caused by an improper predicate check.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | runtime/prop.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,4 +1,9 @@ --------------------------------------------------------------------------- +Version 4.5.3 [v4-beta] (rgerhards), 2009-08-?? +- bugfix: strings improperly reused, resulting in some message properties + be populated with strings from previous messages. This was caused by + an improper predicate check. [backported from v5] +--------------------------------------------------------------------------- Version 4.5.2 [v4-beta] (rgerhards), 2009-08-21 - legacy syslog parser changed so that it now accepts date stamps in wrong case. Some devices seem to create them and I do not see any harm diff --git a/runtime/prop.c b/runtime/prop.c index 804f3491..d188b2ed 100644 --- a/runtime/prop.c +++ b/runtime/prop.c @@ -174,7 +174,7 @@ rsRetVal CreateOrReuseStringProp(prop_t **ppThis, uchar *psz, int len) } else { /* already exists, check if we can re-use it */ GetString(*ppThis, &pszPrev, &lenPrev); - if(len != lenPrev && ustrcmp(psz, pszPrev)) { + if(len != lenPrev || ustrcmp(psz, pszPrev)) { /* different, need to discard old & create new one */ propDestruct(ppThis); CHKiRet(CreateStringProp(ppThis, psz, len)); |