1
0
mirror of synced 2026-08-05 01:36:56 +00:00

Fix NPE in UrlUtils with null url

Fixes gh-4233
This commit is contained in:
Rob Winch
2017-03-02 00:46:01 -06:00
parent 49719480a8
commit 017e9834bd
2 changed files with 24 additions and 1 deletions
@@ -129,7 +129,7 @@ public final class UrlUtils {
* Returns true if the supplied URL starts with a "/" or is absolute.
*/
public static boolean isValidRedirectUrl(String url) {
return url != null && url.startsWith("/") || isAbsoluteUrl(url);
return url != null && (url.startsWith("/") || isAbsoluteUrl(url));
}
/**
@@ -137,6 +137,9 @@ public final class UrlUtils {
* defined in RFC 1738.
*/
public static boolean isAbsoluteUrl(String url) {
if(url == null) {
return false;
}
final Pattern ABSOLUTE_URL = Pattern.compile("\\A[a-z0-9.+-]+://.*",
Pattern.CASE_INSENSITIVE);
@@ -35,4 +35,24 @@ public class UrlUtilsTests {
assertThat(UrlUtils.isAbsoluteUrl("zz+zz.zz-zz://something/")).isTrue();
}
@Test
public void isAbsoluteUrlWhenNullThenFalse() {
assertThat(UrlUtils.isAbsoluteUrl(null)).isFalse();
}
@Test
public void isAbsoluteUrlWhenEmptyThenFalse() {
assertThat(UrlUtils.isAbsoluteUrl("")).isFalse();
}
@Test
public void isValidRedirectUrlWhenNullThenFalse() {
assertThat(UrlUtils.isValidRedirectUrl(null)).isFalse();
}
@Test
public void isValidRedirectUrlWhenEmptyThenFalse() {
assertThat(UrlUtils.isValidRedirectUrl("")).isFalse();
}
}