Skip to content

Commit 78443eb

Browse files
committed
DATACMNS-379 - Fixed AIOOBE in SortHandlerMethodArgumentResolver.
1 parent cc4a4de commit 78443eb

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Sort parseParameterIntoSort(String[] source, String delimiter) {
243243
}
244244

245245
String[] elements = part.split(delimiter);
246-
Direction direction = Direction.fromStringOrNull(elements[elements.length - 1]);
246+
Direction direction = elements.length == 0 ? null : Direction.fromStringOrNull(elements[elements.length - 1]);
247247

248248
for (int i = 0; i < elements.length; i++) {
249249

src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,18 @@ public void sortParamIsEmptyWhenMultiParams() throws Exception {
186186
assertThat(resolveSort(request, PARAMETER), is(new Sort(DESC, "property")));
187187
}
188188

189+
/**
190+
* @see DATACMNS-379
191+
*/
192+
@Test
193+
public void parsesCommaParameterForSort() throws Exception {
194+
195+
MockHttpServletRequest request = new MockHttpServletRequest();
196+
request.addParameter("sort", ",");
197+
198+
assertThat(resolveSort(request, PARAMETER), is(nullValue()));
199+
}
200+
189201
private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception {
190202

191203
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();

0 commit comments

Comments
 (0)