summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--runtime/prop.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 55ca5b45..cc9f9ea3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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));