From 7480fcf18a7b3aaf49001ab34587df20ad0ddf9b Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Mon, 15 Feb 2021 15:31:53 +0100 Subject: [PATCH] Improve guards to avoid potential ClassCastException. We now guard Slice conversion against potential ClassCastException using the proper condition grouping. Previously, the conversion could happen if the query is a slice query while the source was not a Slice. Resolves #2296. --- .../springframework/data/repository/query/ResultProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java index 10273f37f..abb196854 100644 --- a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java +++ b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java @@ -143,7 +143,7 @@ public class ResultProcessor { ChainingConverter converter = ChainingConverter.of(type.getReturnedType(), preparingConverter).and(this.converter); - if (source instanceof Slice && method.isPageQuery() || method.isSliceQuery()) { + if (source instanceof Slice && (method.isPageQuery() || method.isSliceQuery())) { return (T) ((Slice) source).map(converter::convert); }