Skip to content

Commit 5b4bd61

Browse files
yokotasophilwebb
authored andcommitted
Fix possible NullPointerException from getPermission()
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 gh-39856
1 parent dcf9732 commit 5b4bd61

File tree

1 file changed

+1
-1
lines changed
  • spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/net/protocol/jar

1 file changed

+1
-1
lines changed

spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/net/protocol/jar/JarUrlConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public Object getContent() throws IOException {
172172

173173
@Override
174174
public Permission getPermission() throws IOException {
175-
return this.jarFileConnection.getPermission();
175+
return (this.jarFileConnection != null) ? this.jarFileConnection.getPermission() : null;
176176
}
177177

178178
@Override

0 commit comments

Comments
 (0)