diff --git a/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java b/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java index 13aae80364..5ed4135895 100644 --- a/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java +++ b/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java @@ -77,6 +77,9 @@ public void handleChanges(Collection changes) { @Override public CachedResource getResource(final String p) throws IOException { + if( p == null ) { + return null; + } final String path; //base always ends with a / if (p.startsWith("/")) { diff --git a/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java b/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java index 3f6b5ecebd..a3e4f73152 100644 --- a/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java +++ b/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java @@ -58,6 +58,9 @@ public ClassPathResourceManager(final ClassLoader classLoader) { @Override public Resource getResource(final String path) throws IOException { + if( path == null ) { + return null; + } String modPath = path; if(modPath.startsWith("/")) { modPath = path.substring(1); diff --git a/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java b/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java index d48ea9d375..5302f5ff3c 100644 --- a/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java +++ b/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java @@ -186,6 +186,9 @@ public PathResourceManager setBase(final File base) { } public Resource getResource(final String p) { + if( p == null ) { + return null; + } String path; //base always ends with a / if (p.startsWith("/")) { diff --git a/servlet/src/main/java/io/undertow/servlet/spec/ServletContextImpl.java b/servlet/src/main/java/io/undertow/servlet/spec/ServletContextImpl.java index 9a949d28c3..409f07dd81 100644 --- a/servlet/src/main/java/io/undertow/servlet/spec/ServletContextImpl.java +++ b/servlet/src/main/java/io/undertow/servlet/spec/ServletContextImpl.java @@ -296,7 +296,7 @@ public Set getResourcePaths(final String path) { @Override public URL getResource(final String path) throws MalformedURLException { - if (!path.startsWith("/")) { + if (path == null || !path.startsWith("/")) { throw UndertowServletMessages.MESSAGES.pathMustStartWithSlash(path); } Resource resource = null;