Skip to content

Commit 92dd4eb

Browse files
committed
Fix NPE in ResponseBodyEmitterReturnValueHandler
The possibility of NPE was introduced in the previous commit: 971ccab Issue: SPR-14046
1 parent 9439a00 commit 92dd4eb

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterReturnValueHandler.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,11 @@ public Map<Class<?>, ResponseBodyEmitterAdapter> getAdapterMap() {
8181
}
8282

8383
private ResponseBodyEmitterAdapter getAdapterFor(Class<?> type) {
84-
for (Class<?> adapteeType : getAdapterMap().keySet()) {
85-
if (adapteeType.isAssignableFrom(type)) {
86-
return getAdapterMap().get(adapteeType);
84+
if (type != null) {
85+
for (Class<?> adapteeType : getAdapterMap().keySet()) {
86+
if (adapteeType.isAssignableFrom(type)) {
87+
return getAdapterMap().get(adapteeType);
88+
}
8789
}
8890
}
8991
return null;

spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterReturnValueHandlerTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public void supportsReturnType() throws Exception {
8181
assertTrue(this.handler.supportsReturnType(returnType("handleResponseEntity")));
8282
assertFalse(this.handler.supportsReturnType(returnType("handleResponseEntityString")));
8383
assertFalse(this.handler.supportsReturnType(returnType("handleResponseEntityParameterized")));
84+
assertFalse(this.handler.supportsReturnType(returnType("handleRawResponseEntity")));
8485
}
8586

8687
@Test
@@ -229,6 +230,10 @@ private ResponseEntity<AtomicReference<String>> handleResponseEntityParameterize
229230
return null;
230231
}
231232

233+
private ResponseEntity handleRawResponseEntity() {
234+
return null;
235+
}
236+
232237
}
233238

234239
private static class SimpleBean {

0 commit comments

Comments
 (0)