Browse Source

Defensively ignore multipart parsing failure in case of error dispatch

Issue: SPR-15231
pull/1323/merge
Juergen Hoeller 9 years ago
parent
commit
d44325ec91
  1. 13
      spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

13
spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

@ -1096,7 +1096,18 @@ public class DispatcherServlet extends FrameworkServlet { @@ -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.

Loading…
Cancel
Save