commit | 0c992b6652cb13f67bcff258bedcbe54e341776c | [log] [tgz] |
---|---|---|
author | Christian Grobmeier <cg@grobmeier.de> | Wed Dec 20 21:42:54 2023 +0100 |
committer | Christian Grobmeier <cg@grobmeier.de> | Wed Dec 20 21:42:54 2023 +0100 |
tree | e52d3cf120f42212b7f455ccacce03bf6c4c967c | |
parent | 2e10f90cef78e854900ce49c14d50d5d85606373 [diff] |
prevent unsynced access to date objects
diff --git a/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java index 1cc8865..f8a646e 100644 --- a/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java +++ b/src/main/java/org/apache/log4j/chainsaw/components/logpanel/LogPanel.java
@@ -1753,7 +1753,9 @@ Object o = currentTable.getValueAt(row, column); if (o instanceof Date) { - return TIMESTAMP_DATE_FORMAT.format((Date) o); + synchronized (this) { + return TIMESTAMP_DATE_FORMAT.format((Date) o); + } } if (o instanceof String) {
diff --git a/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java b/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java index 4ffe961..dd761e9 100644 --- a/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java +++ b/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java
@@ -62,7 +62,9 @@ super(); //expects value to be a timestamp value represented as a long try { - timeStamp = DATE_FORMAT.parse(value).getTime(); + synchronized(this) { + timeStamp = DATE_FORMAT.parse(value).getTime(); + } } catch (ParseException pe) { throw new IllegalArgumentException("Could not parse date: " + value); }
diff --git a/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java b/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java index 487374d..412fb7d 100644 --- a/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java +++ b/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java
@@ -67,7 +67,9 @@ super(); this.inequalitySymbol = inequalitySymbol; try { - timeStamp = DATE_FORMAT.parse(value).getTime(); + synchronized (this) { + timeStamp = DATE_FORMAT.parse(value).getTime(); + } } catch (ParseException pe) { throw new IllegalArgumentException("Could not parse date: " + value); }