close() synchronizes on perArtifactLocks map but loadClassData() only checks volatile 'closed' flag.
Location: src/main/java/org/flossware/classloader/MavenRepositoryClassSource.java:392
Severity: MEDIUM - Resource leak
Impact: Temp files and JarFile handles leaked after close()
🤖 AI Attribution: opus (85% confidence, 1/1 consensus)
close() synchronizes on perArtifactLocks map but loadClassData() only checks volatile 'closed' flag.
Location: src/main/java/org/flossware/classloader/MavenRepositoryClassSource.java:392
Severity: MEDIUM - Resource leak
Impact: Temp files and JarFile handles leaked after close()
🤖 AI Attribution: opus (85% confidence, 1/1 consensus)