spring-boot/spring-boot-project/spring-boot-tools
yokotaso 5b4bd61720 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
2024-05-01 22:42:52 -07:00
..
spring-boot-antlib Rename spring-boot-loader to spring-boot-loader-classic 2023-10-03 15:40:04 -07:00
spring-boot-autoconfigure-processor Use .isEmpty() where feasible 2023-12-19 22:38:05 -08:00
spring-boot-buildpack-platform Close streams in test before deleting file 2024-04-26 09:20:36 +02:00
spring-boot-cli Merge branch '3.1.x' into 3.2.x 2024-01-11 10:33:57 +00:00
spring-boot-configuration-metadata Replace contains/put/get pattern with computeIfAbsent 2023-08-08 13:12:47 +02:00
spring-boot-configuration-metadata-changelog-generator Escape pipe symbol in properties changelog table cells 2023-11-30 11:37:25 +01:00
spring-boot-configuration-processor Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
spring-boot-gradle-plugin Merge branch '3.1.x' into 3.2.x 2024-04-22 13:27:57 -05:00
spring-boot-gradle-test-support Merge branch '3.1.x' into 3.2.x 2024-04-26 11:12:46 +02:00
spring-boot-jarmode-layertools Merge branch '3.1.x' into 3.2.x 2024-04-18 11:59:50 +02:00
spring-boot-loader Fix possible NullPointerException from getPermission() 2024-05-01 22:42:52 -07:00
spring-boot-loader-classic Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
spring-boot-loader-tools Merge branch '3.1.x' into 3.2.x 2024-03-27 09:35:44 +01:00
spring-boot-maven-plugin Merge branch '3.1.x' into 3.2.x 2024-04-24 14:04:08 +02:00
spring-boot-properties-migrator Use Stream.toList() 2023-07-05 09:38:19 +01:00
spring-boot-test-support Merge branch '3.1.x' into 3.2.x 2024-04-18 12:52:54 -07:00