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
396 27 0 0

Files

Class Bugs
com.atlassian.plugin.DefaultPluginManager 3
com.atlassian.plugin.DefaultPluginManager$1 1
com.atlassian.plugin.DefaultPluginManager$2 1
com.atlassian.plugin.DefaultPluginManager$3 1
com.atlassian.plugin.DefaultPluginManager$4 1
com.atlassian.plugin.DefaultPluginManager$5 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.event.impl.DefaultPluginEventManager$1 1
com.atlassian.plugin.factories.LegacyDynamicPluginFactory 1
com.atlassian.plugin.impl.AbstractPlugin 2
com.atlassian.plugin.parsers.XmlDescriptorParser 2
com.atlassian.plugin.predicate.ModuleDescriptorOfClassPredicate$1 1
com.atlassian.plugin.util.ClassLoaderUtils 1
com.atlassian.plugin.util.VersionStringComparator 1
com.atlassian.plugin.util.VersionStringComparator$VersionStringComponentComparator 2
com.atlassian.plugin.util.zip.AbstractUnzipper 1
com.atlassian.plugin.util.zip.AbstractUnzipper$1 1

com.atlassian.plugin.DefaultPluginManager

Bug Category Details Line
com.atlassian.plugin.DefaultPluginManager.DefaultPluginManager(PluginStateStore, 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 83
Confusing to have methods com.atlassian.plugin.DefaultPluginManager.shutdown() and com.atlassian.plugin.loaders.DirectoryPluginLoader.shutDown() BAD_PRACTICE NM_CONFUSING 110-112
DefaultPluginManager.pluginInstaller not initialized in constructor STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR Not available

com.atlassian.plugin.DefaultPluginManager$1

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

com.atlassian.plugin.DefaultPluginManager$2

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

com.atlassian.plugin.DefaultPluginManager$3

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

com.atlassian.plugin.DefaultPluginManager$4

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

com.atlassian.plugin.DefaultPluginManager$5

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

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 40

com.atlassian.plugin.event.impl.DefaultPluginEventManager$1

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

com.atlassian.plugin.factories.LegacyDynamicPluginFactory

Bug Category Details Line
com.atlassian.plugin.factories.LegacyDynamicPluginFactory.create(DeploymentUnit, 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 63

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 198
com.atlassian.plugin.impl.AbstractPlugin defines compareTo(Object) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 16

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 74
Unread field: com.atlassian.plugin.parsers.XmlDescriptorParser.recogniseSystemPlugins PERFORMANCE URF_UNREAD_FIELD 31

com.atlassian.plugin.predicate.ModuleDescriptorOfClassPredicate$1

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

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 110

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.zip.AbstractUnzipper

Bug Category Details Line
com.atlassian.plugin.util.zip.AbstractUnzipper.log isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 17

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