This is an automated email from the ASF dual-hosted git repository.
jaikiran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ant.git
The following commit(s) were added to refs/heads/master by this push:
new 36bfcaa96 bz-68462: Prevent StringIndexOutOfBoundsException when
EmailAddress is passed an empty String
36bfcaa96 is described below
commit 36bfcaa96eb16acd0cd1d9f7c8d7395e677dd1b5
Author: Jaikiran Pai <[email protected]>
AuthorDate: Thu Jan 11 07:01:17 2024 +0530
bz-68462: Prevent StringIndexOutOfBoundsException when EmailAddress is
passed an empty String
---
WHATSNEW | 5 +++++
.../org/apache/tools/ant/taskdefs/email/EmailAddress.java | 3 +++
.../org/apache/tools/ant/taskdefs/email/EmailAddressTest.java | 11 +++++++++++
3 files changed, 19 insertions(+)
diff --git a/WHATSNEW b/WHATSNEW
index 5a9793663..cc4a0a622 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -31,6 +31,11 @@ Fixed bugs:
command in the JDK supports the "--release" option.
Github Pull Request #205
+ * Fixes a bug in org.apache.tools.ant.taskdefs.email.EmailAddress which
+ would throw a java.lang.StringIndexOutOfBoundsException if the email
+ address passed to its constructor was an empty String.
+ Bugzilla Report 68462
+
Changes from Ant 1.10.13 TO Ant 1.10.14
=======================================
diff --git a/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java
b/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java
index 359cbc208..704174b6e 100644
--- a/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java
+++ b/src/main/org/apache/tools/ant/taskdefs/email/EmailAddress.java
@@ -117,6 +117,9 @@ public class EmailAddress {
* '(', ')', '"', '<', '>' from the start and end of strings
*/
private String trim(String t, boolean trimAngleBrackets) {
+ if (t.isEmpty()) {
+ return t;
+ }
int start = 0;
int end = t.length();
boolean trim;
diff --git
a/src/tests/junit/org/apache/tools/ant/taskdefs/email/EmailAddressTest.java
b/src/tests/junit/org/apache/tools/ant/taskdefs/email/EmailAddressTest.java
index 9eb17ff48..412e6a8b2 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/email/EmailAddressTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/email/EmailAddressTest.java
@@ -93,6 +93,17 @@ public class EmailAddressTest {
expectNameAddress3(new EmailAddress(" < address > "));
}
+ /**
+ * verify that an empty value to EmailAddress constructor doesn't lead to
+ * a StringIndexOutOfBoundsException
+ */
+ @Test
+ public void testEmpty() {
+ final EmailAddress addr = new EmailAddress("");
+ assertEquals("", addr.getName());
+ assertEquals("", addr.getAddress());
+ }
+
private void expectNameAddress(EmailAddress e) {
assertEquals("name", e.getName());
assertEquals("address", e.getAddress());