Repository: james-project
Updated Branches:
  refs/heads/master 8c4606360 -> 45c3dfb55


JAMES-2163 James MailImpl should reject null attribute names


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b7cdb880
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b7cdb880
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b7cdb880

Branch: refs/heads/master
Commit: b7cdb8809354100d21d0dc265e2c695d627db048
Parents: 0e5872c
Author: benwa <btell...@linagora.com>
Authored: Thu Sep 28 09:37:41 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Thu Sep 28 09:37:41 2017 +0700

----------------------------------------------------------------------
 .../main/java/org/apache/james/server/core/MailImpl.java    | 5 ++++-
 .../java/org/apache/james/server/core/MailImplTest.java     | 9 +++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b7cdb880/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
----------------------------------------------------------------------
diff --git 
a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
 
b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
index 106d46f..2e9aa38 100644
--- 
a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
+++ 
b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
@@ -40,15 +40,17 @@ import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.ParseException;
 
+import org.apache.james.core.MailAddress;
 import org.apache.james.lifecycle.api.Disposable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.james.core.MailAddress;
 import org.apache.mailet.Mail;
 import org.apache.mailet.PerRecipientHeaders;
 import org.apache.mailet.PerRecipientHeaders.Header;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Preconditions;
+
 /**
  * <p>
  * Wraps a MimeMessage adding routing information (from SMTP) and some simple
@@ -589,6 +591,7 @@ public class MailImpl implements Disposable, Mail {
 
     @Override
     public Serializable setAttribute(String key, Serializable object) {
+        Preconditions.checkNotNull(key, "Key of an attribute should not be 
null");
         return (Serializable) attributes.put(key, object);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/b7cdb880/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
 
b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
index ab5d9b7..5ab4cd0 100644
--- 
a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
+++ 
b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.james.server.core;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -112,4 +113,12 @@ public class MailImplTest extends 
MailTestAllImplementations {
         helperTestInitialState(duplicate);
         helperTestMessageSize(duplicate, 0);
     }
+
+    @Test
+    public void setAttributeShouldThrowOnNullAttributeName() throws 
MessagingException {
+        MailImpl mail = new MailImpl();
+
+        assertThatThrownBy(() -> mail.setAttribute(null, "toto"))
+            .isInstanceOf(NullPointerException.class);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to