diff --git a/CHANGELOG.md b/CHANGELOG.md index f7f929b2b..a9008a4f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ * 【core 】 修复FileResource构造fileName参数无效问题(issue#1942@Github) * 【cache 】 修复WeakCache键值强关联导致的无法回收问题(issue#1953@Github) * 【core 】 修复ZipUtil相对路径父路径获取null问题(issue#1961@Github) +* 【http 】 修复HttpUtil.normalizeParams未判空导致的问题(issue#1975@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java index a7755e00e..5a0d71ca8 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/ArrayUtilTest.java @@ -182,6 +182,12 @@ public class ArrayUtilTest { Assert.assertEquals(9, range[9]); } + @Test(expected = NegativeArraySizeException.class) + public void rangeMinTest() { + //noinspection ResultOfMethodCallIgnored + ArrayUtil.range(0, Integer.MIN_VALUE); + } + @Test public void maxTest() { int max = ArrayUtil.max(1, 2, 13, 4, 5); diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java index 0257cd464..ffe7ed669 100644 --- a/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpUtil.java @@ -539,6 +539,9 @@ public class HttpUtil { * @since 4.5.2 */ public static String normalizeParams(String paramPart, Charset charset) { + if(StrUtil.isEmpty(paramPart)){ + return paramPart; + } final StrBuilder builder = StrBuilder.create(paramPart.length() + 16); final int len = paramPart.length(); String name = null; diff --git a/hutool-http/src/test/java/cn/hutool/http/HttpUtilTest.java b/hutool-http/src/test/java/cn/hutool/http/HttpUtilTest.java index e829d7752..00ad46b87 100644 --- a/hutool-http/src/test/java/cn/hutool/http/HttpUtilTest.java +++ b/hutool-http/src/test/java/cn/hutool/http/HttpUtilTest.java @@ -302,6 +302,12 @@ public class HttpUtilTest { Assert.assertEquals("%E5%8F%82%E6%95%B0", encodeResult); } + @Test + public void normalizeBlankParamsTest() { + String encodeResult = HttpUtil.normalizeParams("", CharsetUtil.CHARSET_UTF_8); + Assert.assertEquals("", encodeResult); + } + @Test public void getMimeTypeTest() { String mimeType = HttpUtil.getMimeType("aaa.aaa");