The following document contains the results of FindBugs Report
FindBugs Version is 1.2.0
Threshold is Low
Effort is Default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
543 | 33 | 0 | 0 |
Bug | Category | Details | Line |
---|---|---|---|
Load of known null value in com.atlassian.plugin.JarPluginArtifact.doesResourceExist(String) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 36 |
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 |
Bug | Category | Details | Line |
---|---|---|---|
Load of known null value in com.atlassian.plugin.ModuleCompleteKey.ModuleCompleteKey(String) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 17 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Bug | Category | Details | Line |
---|---|---|---|
com.atlassian.plugin.manager.DefaultPluginPersistentState is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
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 |
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 |
Bug | Category | Details | Line |
---|---|---|---|
com.atlassian.plugin.util.VersionStringComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | Not available |
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 |
Bug | Category | Details | Line |
---|---|---|---|
Dead store to secondMillis in com.atlassian.plugin.util.WaitUntil.invoke(WaitUntil$WaitCondition, int) | STYLE | DLS_DEAD_LOCAL_STORE | 50 |
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 |
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 |
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 |
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 |