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