Defensive URL cleaning (preserving the original URL if possible)

Issue: SPR-17198
master
Juergen Hoeller 6 years ago
parent c55a9072aa
commit 6ef0938a92
  1. 12
      spring-core/src/main/java/org/springframework/core/io/UrlResource.java

@ -141,18 +141,20 @@ public class UrlResource extends AbstractFileResolvingResource {
* Determine a cleaned URL for the given original URL.
* @param originalUrl the original URL
* @param originalPath the original URL path
* @return the cleaned URL
* @return the cleaned URL (possibly the original URL as-is)
* @see org.springframework.util.StringUtils#cleanPath
*/
private URL getCleanedUrl(URL originalUrl, String originalPath) {
String cleanedPath = StringUtils.cleanPath(originalPath);
if (!cleanedPath.equals(originalPath)) {
try {
return new URL(StringUtils.cleanPath(originalPath));
return new URL(cleanedPath);
}
catch (MalformedURLException ex) {
// Cleaned URL path cannot be converted to URL
// -> take original URL.
return originalUrl;
// Cleaned URL path cannot be converted to URL -> take original URL.
}
}
return originalUrl;
}
/**

Loading…
Cancel
Save