The following document contains the results of FindBugs Report
FindBugs Version is 1.1.1
Threshold is Low
Effort is Default
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 827 | 64 | 87 | 89 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.configuration.util.InitializationCheck.validateArgs(java.util.HashMap,String[],Object) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 28 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.configuration.xml.XMLConfigurationParser.parseRepositories(org.dom4j.Node) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 137 |
| Method com.atlassian.user.configuration.xml.XMLConfigurationParser.parseRepositories(org.dom4j.Node) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 147 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.DefaultEntity.getCreated() may expose internal representation by returning com.atlassian.user.impl.DefaultEntity.created | MALICIOUS_CODE | EI_EXPOSE_REP | 35 |
| com.atlassian.user.impl.DefaultEntity.setCreated(java.util.Date) may expose internal representation by storing an externally mutable object into com.atlassian.user.impl.DefaultEntity.created | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 |
| com.atlassian.user.impl.DefaultEntity.created is transient but com.atlassian.user.impl.DefaultEntity isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.DefaultUser.log is transient but com.atlassian.user.impl.DefaultUser isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.repositoryCacheName; locked % of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 115 |
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userCacheName; locked % of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 95 |
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userROCacheName; locked % of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 105 |
| com.atlassian.user.impl.cache.CachingUserManager.NULL_USER isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 24 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.cache.GroupCache$1.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 34 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Class com.atlassian.user.impl.cache.properties.CachedPropertySet defines non-transient non-serializable instance field decoratedPS | BAD_PRACTICE | SE_BAD_FIELD | Not available |
| com.atlassian.user.impl.cache.properties.CachedPropertySet is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.delegation.repository.DelegatingRepository.DELEGATING is transient but com.atlassian.user.impl.delegation.repository.DelegatingRepository isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| com.atlassian.user.impl.delegation.repository.DelegatingRepository.repositories is transient but com.atlassian.user.impl.delegation.repository.DelegatingRepository isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Field not initialized in constructor: com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.cacheManager | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.DefaultHibernateGroup.externalMembers is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| com.atlassian.user.impl.hibernate.DefaultHibernateGroup.id is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| com.atlassian.user.impl.hibernate.DefaultHibernateGroup.localMembers is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.DefaultHibernateUser.groups is transient but com.atlassian.user.impl.hibernate.DefaultHibernateUser isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| com.atlassian.user.impl.hibernate.DefaultHibernateUser.id is transient but com.atlassian.user.impl.hibernate.DefaultHibernateUser isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Load of known null value in com.atlassian.user.impl.hibernate.HibernateGroupManager.validateGroupAndUser(com.atlassian.user.Group,com.atlassian.user.User) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 451 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository.hibernateConfigProvider is transient but com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository.sessionFactory is transient but com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.DefaultLDAPGroup.distinguishedName is transient but com.atlassian.user.impl.ldap.DefaultLDAPGroup isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.DefaultLDAPUser.distinguishedName is transient but com.atlassian.user.impl.ldap.DefaultLDAPUser isn't Serializable | STYLE | SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.ldap.properties.DefaultLdapConnectionProperties.isSslEnabled() invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 58 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.search.LDAPPagerInfo.getReturningAttributes() may expose internal representation by returning com.atlassian.user.impl.ldap.search.LDAPPagerInfo.returningAttributes | MALICIOUS_CODE | EI_EXPOSE_REP | 71 |
| com.atlassian.user.impl.ldap.search.LDAPPagerInfo.LDAPPagerInfo(javax.naming.NamingEnumeration,net.sf.ldaptemplate.support.filter.Filter,String,boolean,String[],int) may expose internal representation by storing an externally mutable object into com.atlassian.user.impl.ldap.search.LDAPPagerInfo.returningAttributes | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Load of known null value in com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser.findUsers(com.atlassian.user.search.query.Query) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 80 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Should com.atlassian.user.impl.memory.provider.MemoryProvider$Membership be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.osuser.DefaultOSUAccessor is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Unread field: com.atlassian.user.impl.osuser.OSUGroup.osgroup | PERFORMANCE | URF_UNREAD_FIELD | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.osuser.OSUGroupManager.isCreative() uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 263 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.osuser.OSUUserManager.getOpensymphonyUser(String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 67 |
| Load of known null value in com.atlassian.user.impl.osuser.OSUUserManager.removeUser(com.atlassian.user.User) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 105 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Field not initialized in constructor: com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler._currentPropertyValue | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
| Field not initialized in constructor: com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler.currentProperties | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String,java.util.Properties) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught | STYLE | REC_CATCH_EXCEPTION | 145 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory.getPropertySet(com.atlassian.user.Entity) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 37 |
| Bug | Category | Details | Line |
|---|---|---|---|
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Ch(long,long,long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 333 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Maj(long,long,long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 338 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma0(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 343 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma1(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 348 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum0(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 353 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum1(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 358 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.search.EntityNameAlphaComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Questionable cast from Collection to abstract class java.util.List in com.atlassian.user.search.page.DefaultPager.DefaultPager(java.util.Collection) | STYLE | BC_BAD_CAST_TO_ABSTRACT_COLLECTION | 32 |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.search.page.MergedPager$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Dead store to o in method com.atlassian.user.search.page.PagerUtils.count(Pager) | STYLE | DLS_DEAD_LOCAL_STORE | 45 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Comparison of String parameter using == or != in com.atlassian.user.search.query.AbstractSingleTermQuery.AbstractSingleTermQuery(String,String) | BAD_PRACTICE | ES_COMPARING_PARAMETER_STRING_WITH_EQ | 18 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.search.query.DefaultEntityQueryParser.parseQuery(java.lang.reflect.Method,TermQuery,com.atlassian.user.search.page.Pager) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 81 |
| Method com.atlassian.user.search.query.DefaultEntityQueryParser.evaluateBoolean(BooleanQuery) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught | STYLE | REC_CATCH_EXCEPTION | 307 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.search.query.MultiTermBooleanQuery.MultiTermBooleanQuery(Query[],boolean) may expose internal representation by storing an externally mutable object into com.atlassian.user.search.query.MultiTermBooleanQuery.collatedQueries | MALICIOUS_CODE | EI_EXPOSE_REP2 | 13 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.search.query.match.ContainsIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.search.query.match.EndsWithIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.search.query.match.StartsWithIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Dead store to ret_off in method com.atlassian.user.util.Base64Encoder.decode(byte[],int,byte,byte,byte,byte) | STYLE | DLS_DEAD_LOCAL_STORE | 114 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.util.FileUtils.copyIntoTemporaryFile(String,String) may fail to close stream on exception | BAD_PRACTICE | OS_OPEN_STREAM_EXCEPTION_PATH | 254 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Unused field: com.atlassian.user.util.LDAPConnectionPoolUtils.initialized | PERFORMANCE | UUF_UNUSED_FIELD | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.util.migration.OSUEntityMigrator.copyEmailAddresses(java.sql.Connection) passes a nonconstant String to an execute method on an SQL statement | BAD_PRACTICE | SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | 222 |
| Method com.atlassian.user.util.migration.OSUEntityMigrator.copyFullNames(java.sql.Connection) passes a nonconstant String to an execute method on an SQL statement | BAD_PRACTICE | SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | 190 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Should com.atlassian.user.util.migration.OSUEntityMigrator$TransitionUser be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |