diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-08-21 15:13:47 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-08-21 15:13:47 +0200 |
commit | cdb58f8d913dc47b01f61f5a72a83ce6aea26623 (patch) | |
tree | cfb3299e784bd2dc27473a793809f67d330d2fd7 | |
parent | c440ae1d15d78a41477a408688c838a36b6d483f (diff) | |
download | rsyslog-cdb58f8d913dc47b01f61f5a72a83ce6aea26623.tar.gz rsyslog-cdb58f8d913dc47b01f61f5a72a83ce6aea26623.tar.xz rsyslog-cdb58f8d913dc47b01f61f5a72a83ce6aea26623.zip |
bugfix: strings improperly reused
... resulting in some message properties be populated with strings from
previous messages. This was caused by an improper predicate check.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | runtime/prop.c | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -8,6 +8,9 @@ Version 5.1.5 [DEVEL] (rgerhards), 2009-08-?? malformed, thus causing them to be treated as TAG (this was a regression introduced from the "rfc3164 strict" change in 4.5.0). Testbench has been updated to include a smaple message with a hostname containing a dash. +- bugfix: strings improperly reused, resulting in some message properties + be populated with strings from previous messages. This was caused by + an improper predicate check. --------------------------------------------------------------------------- Version 5.1.4 [DEVEL] (rgerhards), 2009-08-20 - legacy syslog parser changed so that it now accepts date stamps in 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)); |