You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/12/12 08:48:37 UTC
[07/12] james-project git commit: JAMES-2251 Fix potential undefined
behavior
JAMES-2251 Fix potential undefined behavior
Because attributes is a Hashtable, iteration over the keys/keySet
collection view should be manually synchronized.
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4a58c3e9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4a58c3e9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4a58c3e9
Branch: refs/heads/master
Commit: 4a58c3e9d1af852460fa6717d7d5af8d6b30b7aa
Parents: c9233f1
Author: Daniel Trebbien <dt...@gmail.com>
Authored: Mon Oct 30 12:06:41 2017 -0400
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Dec 12 09:47:37 2017 +0100
----------------------------------------------------------------------
.../james/mailetcontainer/impl/JamesMailetContext.java | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4a58c3e9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index 51d01f9..b013414 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -19,16 +19,14 @@
package org.apache.james.mailetcontainer.impl;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
-import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
-import java.util.Optional;
-import java.util.Vector;
import javax.inject.Inject;
import javax.mail.Address;
@@ -132,9 +130,9 @@ public class JamesMailetContext implements MailetContext, Configurable {
@Override
public Iterator<String> getAttributeNames() {
- Vector<String> names = new Vector<>();
- for (Enumeration<String> e = attributes.keys(); e.hasMoreElements(); ) {
- names.add(e.nextElement());
+ final List<String> names;
+ synchronized (attributes) {
+ names = new ArrayList<>(attributes.keySet());
}
return names.iterator();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org