From 0eec6607d1f55ad74a97fa0c6875c2790599e6d7 Mon Sep 17 00:00:00 2001 From: nullterminated Date: Wed, 13 Feb 2013 19:05:36 -0700 Subject: [PATCH] Fix StringIndexOutOfBoundsException parsing host name from email --- .../Sources/er/extensions/net/ERXEmailValidator.java | 1 + .../ERXTest/Sources/er/extensions/net/ERXEmailValidatorTest.java | 1 + 2 files changed, 2 insertions(+) diff --git a/Frameworks/Core/ERExtensions/Sources/er/extensions/net/ERXEmailValidator.java b/Frameworks/Core/ERExtensions/Sources/er/extensions/net/ERXEmailValidator.java index 65d31914683..b38cb19ef98 100644 --- a/Frameworks/Core/ERExtensions/Sources/er/extensions/net/ERXEmailValidator.java +++ b/Frameworks/Core/ERExtensions/Sources/er/extensions/net/ERXEmailValidator.java @@ -283,6 +283,7 @@ public static String hostNameForEmailString(String email) { String hostName = StringUtils.substringAfterLast(email, "@"); // handle domain literals and quoted identifiers hostName = StringUtils.trimToEmpty(hostName); + if(hostName.isEmpty()) { return hostName; } int lastIndex = hostName.length() - 1; if (hostName.lastIndexOf('>') == lastIndex) { hostName = hostName.substring(0, lastIndex); diff --git a/Tests/ERXTest/Sources/er/extensions/net/ERXEmailValidatorTest.java b/Tests/ERXTest/Sources/er/extensions/net/ERXEmailValidatorTest.java index 6ce32523984..ea041d320c3 100644 --- a/Tests/ERXTest/Sources/er/extensions/net/ERXEmailValidatorTest.java +++ b/Tests/ERXTest/Sources/er/extensions/net/ERXEmailValidatorTest.java @@ -41,5 +41,6 @@ public void testHostNameForEmailString() { Assert.assertEquals("gmail.com", ERXEmailValidator.hostNameForEmailString("tom@gmail.com")); Assert.assertEquals("74.125.224.182", ERXEmailValidator.hostNameForEmailString("tom@[74.125.224.182]")); Assert.assertEquals("74.125.224.182", ERXEmailValidator.hostNameForEmailString("\"Thomas Thomson\" < tom@[ 74.125.224.182 ]>")); + Assert.assertEquals("", ERXEmailValidator.hostNameForEmailString("thomas")); } }