Skip to content

Commit

Permalink
Fix possible NullPointerException from getPermission()
Browse files Browse the repository at this point in the history
Fix regression in `JarUrlConnection` where a NullPointerException could
be thrown internally causing performance issues.

When the SecurityManager is present, the following stack trace is
thrown:

java.lang.NullPointerException: Cannot invoke "java.net.URLConnection.getPermission()" because "this.jarFileConnection" is null
        at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.getPermission(JarUrlConnection.java:175)
        at java.base/jdk.internal.loader.URLClassPath.check(URLClassPath.java:553)
        at java.base/jdk.internal.loader.URLClassPath$Loader.findResource(URLClassPath.java:612)
        at java.base/jdk.internal.loader.URLClassPath.findResource(URLClassPath.java:296)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:629)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:627)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.net.URLClassLoader.findResource(URLClassLoader.java:626)
        at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.findResource(JarUrlClassLoader.java:70)
        at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1403)
        at java.base/java.net.URLClassLoader.getResourceAsStream(URLClassLoader.java:290)
        at java.base/java.lang.Class.getResourceAsStream(Class.java:2850)

See spring-projectsgh-39856
  • Loading branch information
yokotaso authored and philwebb committed May 2, 2024
1 parent dcf9732 commit 5b4bd61
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public Object getContent() throws IOException {

@Override
public Permission getPermission() throws IOException {
return this.jarFileConnection.getPermission();
return (this.jarFileConnection != null) ? this.jarFileConnection.getPermission() : null;
}

@Override
Expand Down

0 comments on commit 5b4bd61

Please sign in to comment.