Forráskód Böngészése

Perform null check on super.getAsyncContext()

Fixes gh-3780
Rob Winch 9 éve
szülő
commit
d900c78f11

+ 3 - 0
web/src/main/java/org/springframework/security/web/servletapi/HttpServlet3RequestFactory.java

@@ -177,6 +177,9 @@ final class HttpServlet3RequestFactory implements HttpServletRequestFactory {
 
 		public AsyncContext getAsyncContext() {
 			AsyncContext asyncContext = super.getAsyncContext();
+			if (asyncContext == null) {
+				return null;
+			}
 			return new SecurityContextAsyncContext(asyncContext);
 		}
 

+ 6 - 0
web/src/test/java/org/springframework/security/web/servletapi/SecurityContextHolderAwareRequestFilterTests.java

@@ -300,6 +300,12 @@ public class SecurityContextHolderAwareRequestFilterTests {
 				this.logoutHandler);
 	}
 
+	// gh-3780
+	@Test
+	public void getAsyncContextNullFromSuper() throws Exception {
+		assertThat(wrappedRequest().getAsyncContext()).isNull();
+	}
+
 	@Test
 	public void getAsyncContextStart() throws Exception {
 		ArgumentCaptor<Runnable> runnableCaptor = ArgumentCaptor.forClass(Runnable.class);