From d44325ec91e7245f55c7c637fe9d473fdf194ddf Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 13 Feb 2017 15:06:52 +0100 Subject: [PATCH] Defensively ignore multipart parsing failure in case of error dispatch Issue: SPR-15231 --- .../web/servlet/DispatcherServlet.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java index 6818c116fea..ce69a0d9953 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java @@ -1096,7 +1096,18 @@ public class DispatcherServlet extends FrameworkServlet { "skipping re-resolution for undisturbed error rendering"); } else { - return this.multipartResolver.resolveMultipart(request); + try { + return this.multipartResolver.resolveMultipart(request); + } + catch (MultipartException ex) { + if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) != null) { + logger.debug("Multipart resolution failed for error dispatch", ex); + // Keep processing error dispatch with regular request handle below + } + else { + throw ex; + } + } } } // If not returned before: return original request.