FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

Classes Bugs Errors Missing Classes
543 33 0 0

Files

Class Bugs
com.atlassian.plugin.JarPluginArtifact 1
com.atlassian.plugin.JarPluginArtifact$1 1
com.atlassian.plugin.ModuleCompleteKey 1
com.atlassian.plugin.classloader.url.BytesUrlConnection 1
com.atlassian.plugin.classloader.url.BytesUrlStreamHandler 1
com.atlassian.plugin.descriptors.ChainModuleDescriptorFactory 1
com.atlassian.plugin.event.impl.DefaultPluginEventManager 1
com.atlassian.plugin.factories.LegacyDynamicPluginFactory 1
com.atlassian.plugin.hostcontainer.SimpleConstructorHostContainer$1 1
com.atlassian.plugin.impl.AbstractPlugin 2
com.atlassian.plugin.loaders.DirectoryScanner$1 1
com.atlassian.plugin.loaders.ScanningPluginLoader 1
com.atlassian.plugin.manager.DefaultPluginManager 1
com.atlassian.plugin.manager.DefaultPluginManager$1 1
com.atlassian.plugin.manager.DefaultPluginManager$2 1
com.atlassian.plugin.manager.DefaultPluginManager$3 1
com.atlassian.plugin.manager.DefaultPluginManager$4 1
com.atlassian.plugin.manager.DefaultPluginPersistentState 1
com.atlassian.plugin.parsers.XmlDescriptorParser 1
com.atlassian.plugin.util.ClassLoaderUtils 1
com.atlassian.plugin.util.VersionStringComparator 1
com.atlassian.plugin.util.VersionStringComparator$VersionStringComponentComparator 2
com.atlassian.plugin.util.WaitUntil 1
com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap 4
com.atlassian.plugin.util.zip.AbstractUnzipper 2
com.atlassian.plugin.util.zip.AbstractUnzipper$1 1
org.codehaus.classworlds.uberjar.protocol.jar.NonLockingJarUrlConnection$1 1

com.atlassian.plugin.JarPluginArtifact

Bug Category Details Line
Load of known null value in com.atlassian.plugin.JarPluginArtifact.doesResourceExist(String) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 36

com.atlassian.plugin.JarPluginArtifact$1

Bug Category Details Line
The class com.atlassian.plugin.JarPluginArtifact$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.ModuleCompleteKey

Bug Category Details Line
Load of known null value in com.atlassian.plugin.ModuleCompleteKey.ModuleCompleteKey(String) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 17

com.atlassian.plugin.classloader.url.BytesUrlConnection

Bug Category Details Line
com.atlassian.plugin.classloader.url.BytesUrlConnection.BytesUrlConnection(URL, byte[]) may expose internal representation by storing an externally mutable object into BytesUrlConnection.content MALICIOUS_CODE EI_EXPOSE_REP2 18

com.atlassian.plugin.classloader.url.BytesUrlStreamHandler

Bug Category Details Line
com.atlassian.plugin.classloader.url.BytesUrlStreamHandler.BytesUrlStreamHandler(byte[]) may expose internal representation by storing an externally mutable object into BytesUrlStreamHandler.content MALICIOUS_CODE EI_EXPOSE_REP2 16

com.atlassian.plugin.descriptors.ChainModuleDescriptorFactory

Bug Category Details Line
com.atlassian.plugin.descriptors.ChainModuleDescriptorFactory.ChainModuleDescriptorFactory(ModuleDescriptorFactory[]) may expose internal representation by storing an externally mutable object into ChainModuleDescriptorFactory.factories MALICIOUS_CODE EI_EXPOSE_REP2 17

com.atlassian.plugin.event.impl.DefaultPluginEventManager

Bug Category Details Line
com.atlassian.plugin.event.impl.DefaultPluginEventManager.DefaultPluginEventManager(ListenerMethodSelector[]) may expose internal representation by storing an externally mutable object into DefaultPluginEventManager.listenerMethodSelectors MALICIOUS_CODE EI_EXPOSE_REP2 45

com.atlassian.plugin.factories.LegacyDynamicPluginFactory

Bug Category Details Line
com.atlassian.plugin.factories.LegacyDynamicPluginFactory.create(PluginArtifact, ModuleDescriptorFactory) creates a com.atlassian.plugin.classloader.PluginClassLoader classloader, which should be performed within a doPrivileged block BAD_PRACTICE DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED 77

com.atlassian.plugin.hostcontainer.SimpleConstructorHostContainer$1

Bug Category Details Line
The class com.atlassian.plugin.hostcontainer.SimpleConstructorHostContainer$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.impl.AbstractPlugin

Bug Category Details Line
com.atlassian.plugin.impl.AbstractPlugin.getDateLoaded() may expose internal representation by returning AbstractPlugin.dateLoaded MALICIOUS_CODE EI_EXPOSE_REP 399
com.atlassian.plugin.impl.AbstractPlugin defines compareTo(Object) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 28

com.atlassian.plugin.loaders.DirectoryScanner$1

Bug Category Details Line
The class com.atlassian.plugin.loaders.DirectoryScanner$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.loaders.ScanningPluginLoader

Bug Category Details Line
Confusing to have methods com.atlassian.plugin.loaders.ScanningPluginLoader.shutDown() and com.atlassian.plugin.manager.DefaultPluginManager.shutdown() BAD_PRACTICE NM_CONFUSING 284-285

com.atlassian.plugin.manager.DefaultPluginManager

Bug Category Details Line
com.atlassian.plugin.manager.DefaultPluginManager.DefaultPluginManager(PluginPersistentStateStore, List, ModuleDescriptorFactory, PluginEventManager) creates a com.atlassian.plugin.classloader.PluginsClassLoader classloader, which should be performed within a doPrivileged block BAD_PRACTICE DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED 96

com.atlassian.plugin.manager.DefaultPluginManager$1

Bug Category Details Line
The class com.atlassian.plugin.manager.DefaultPluginManager$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.manager.DefaultPluginManager$2

Bug Category Details Line
The class com.atlassian.plugin.manager.DefaultPluginManager$2 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.manager.DefaultPluginManager$3

Bug Category Details Line
The class com.atlassian.plugin.manager.DefaultPluginManager$3 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.manager.DefaultPluginManager$4

Bug Category Details Line
The class com.atlassian.plugin.manager.DefaultPluginManager$4 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

com.atlassian.plugin.manager.DefaultPluginPersistentState

Bug Category Details Line
com.atlassian.plugin.manager.DefaultPluginPersistentState is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID Not available

com.atlassian.plugin.parsers.XmlDescriptorParser

Bug Category Details Line
com.atlassian.plugin.parsers.XmlDescriptorParser.configurePlugin(ModuleDescriptorFactory, Plugin) checks to see if result of String.indexOf is positive STYLE RV_CHECK_FOR_POSITIVE_INDEXOF 118

com.atlassian.plugin.util.ClassLoaderUtils

Bug Category Details Line
Redundant nullcheck of urls, which is known to be non-null in com.atlassian.plugin.util.ClassLoaderUtils.getResources(String, Class) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 123

com.atlassian.plugin.util.VersionStringComparator

Bug Category Details Line
com.atlassian.plugin.util.VersionStringComparator implements Comparator but not Serializable BAD_PRACTICE SE_COMPARATOR_SHOULD_BE_SERIALIZABLE Not available

com.atlassian.plugin.util.VersionStringComparator$VersionStringComponentComparator

Bug Category Details Line
com.atlassian.plugin.util.VersionStringComparator$VersionStringComponentComparator implements Comparator but not Serializable BAD_PRACTICE SE_COMPARATOR_SHOULD_BE_SERIALIZABLE Not available
Should com.atlassian.plugin.util.VersionStringComparator$VersionStringComponentComparator be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC Not available

com.atlassian.plugin.util.WaitUntil

Bug Category Details Line
Dead store to secondMillis in com.atlassian.plugin.util.WaitUntil.invoke(WaitUntil$WaitCondition, int) STYLE DLS_DEAD_LOCAL_STORE 50

com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap

Bug Category Details Line
The field com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap.entrySet is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Not available
The field com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap.keySet is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Not available
The field com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap.lock is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Not available
The field com.atlassian.plugin.util.concurrent.AbstractCopyOnWriteMap.values is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Not available

com.atlassian.plugin.util.zip.AbstractUnzipper

Bug Category Details Line
Dead store to filter in com.atlassian.plugin.util.zip.AbstractUnzipper.getContentsOfTargetDir(File) STYLE DLS_DEAD_LOCAL_STORE 102
com.atlassian.plugin.util.zip.AbstractUnzipper.log isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 15

com.atlassian.plugin.util.zip.AbstractUnzipper$1

Bug Category Details Line
The class com.atlassian.plugin.util.zip.AbstractUnzipper$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available

org.codehaus.classworlds.uberjar.protocol.jar.NonLockingJarUrlConnection$1

Bug Category Details Line
The class org.codehaus.classworlds.uberjar.protocol.jar.NonLockingJarUrlConnection$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON Not available