From 4d2360e5b51e0ca0dcfa39377e0a184518d7d6dd 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 (cherry picked from commit d44325e) --- .../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 6c89aa7176..b365cd61c7 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.