Project Information
Project:
FindBugs version: 3.0.1
Code analyzed:
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/BuildConfig.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/Quota$$Parcelable.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/RemoteOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/OperationCancelledException.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/OnRemoteOperationListener.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/ExceptionParser.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/RemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/RemoteOperationResult.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/operations/RemoteOperationResult$ResultCode.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudBasicCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/ExternalLinkType.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/UserInfo.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/Quota.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/Quota$$Parcelable$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudCredentialsFactory$OwnCloudAnonymousCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudCredentialsFactory.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClientManager.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClientManagerFactory.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClientManagerFactory$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/UserInfo$$Parcelable$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/DynamicSessionManager.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClientManagerFactory$Policy.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/ExternalLink$$Parcelable$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClientFactory.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/SingleSessionManager.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/ExternalLink$$Parcelable.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudAccount.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/UserInfo$$Parcelable.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudClient.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/OnDatatransferProgressListener.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/NetworkUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/BearerCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/FileRequestEntity$WriteException.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/ServerNameIndicator.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/CertificateCombinedException.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/BearerAuthScheme.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/FileRequestEntity.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/ProgressiveDataTransferer.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/WebdavUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/RedirectionPath.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/WebdavEntry.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/AdvancedSslSocketFactory.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/AdvancedX509TrustManager.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/ChunkFromFileChannelRequestEntity.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/network/WebdavEntry$MountType.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/ExternalLink.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/utils/HttpDeleteWithBody.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/utils/WebDavFileUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/utils/Log_OC.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/accounts/ExternalLinksOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/accounts/AccountTypeUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/accounts/AccountUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/accounts/AccountUtils$Constants.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/accounts/AccountUtils$AccountNotFoundException.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudBearerCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/OwnCloudSamlSsoCredentials.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/common/SimpleFactoryManager.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/ocs/responses/PrivateKey.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/ocs/OCSMeta.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/ocs/OCSResponse.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/ocs/ServerResponse.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetRemoteUserAvatarOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/SendCSROperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetRemoteUserAvatarOperation$ResultData.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/DeletePublicKeyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/comments/MarkCommentsAsReadRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/comments/CommentFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/OCSRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/EmptyTrashbinRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/RemoveTrashbinFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/RestoreTrashbinFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/model/TrashbinFile.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/model/TrashbinFile$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/trashbin/ReadTrashbinFolderRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/status/OCCapability.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/status/CapabilityBooleanType.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/status/GetRemoteStatusOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/status/OwnCloudVersion.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/models/PushResponse.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/models/Notification.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/models/RichObject.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/models/Action.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForProxyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForProxyOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/GetRemoteNotificationsOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForNotificationsOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/notifications/GetRemoteNotificationsOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/SharedWithMe.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/ShareUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/ShareType.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/ShareXMLParser.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/SharePermissionsBuilder.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/OCShare.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/OCShare$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/UnlockFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/e2ee/ToggleEncryptionRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/models/PreviewObjectAdapter.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/models/PreviewObject.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/model/RichElementTypeAdapter.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/model/RichElementTypeAdapter$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/model/RichObject.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/model/RichElement.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/model/Activity.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/UploadFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ExistenceCheckRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/RenameFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/SearchRemoteOperation$SearchType.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/SearchRemoteOperation$SearchMethod.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ReadFileVersionsRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/MoveFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ReadFolderRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ChunkedFileUploadRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/CreateFolderRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/model/ServerFileInterface.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/model/FileVersion$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/model/RemoteFile$1.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/model/RemoteFile.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/model/FileVersion.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/CopyFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ReadFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/RestoreFileVersionRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/RemoveFileRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/ToggleFavoriteRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/SearchRemoteOperation.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/FileUtils.class
- /drone/src/github.com/nextcloud/android-library/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/owncloud/android/lib/resources/files/DownloadFileRemoteOperation.class
Metrics
8029 lines of code analyzed,
in 151 classes,
in 23 packages.
High Priority Warnings |
54 |
6.73 |
Medium Priority Warnings |
147 |
18.31 |
Total Warnings
|
201
|
25.03
|
(* Defects per Thousand lines of non-commenting source statements)
Contents
Summary
Warnings
Click on a warning row to see full context information.
Eq
|
com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.equals(Object) fails for subtypes |
|
Bug type EQ_GETCLASS_AND_CLASS_CONSTANT (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.equals(Object) At AdvancedSslSocketFactory.java:[line 231]
|
Eq
|
com.owncloud.android.lib.resources.status.OwnCloudVersion defines compareTo(OwnCloudVersion) and uses Object.equals() |
|
Bug type EQ_COMPARETO_USE_OBJECT_EQUALS (click for details)
In class com.owncloud.android.lib.resources.status.OwnCloudVersion In method com.owncloud.android.lib.resources.status.OwnCloudVersion.compareTo(OwnCloudVersion) At OwnCloudVersion.java:[line 91]
|
OS
|
com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) may fail to close stream |
|
Bug type OS_OPEN_STREAM (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) Need to close java.io.InputStream At DownloadFileRemoteOperation.java:[line 111]
|
OS
|
com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation.run(OwnCloudClient) may fail to close stream |
|
Bug type OS_OPEN_STREAM (click for details)
In class com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation In method com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation.run(OwnCloudClient) Need to close java.io.InputStream At GetRemoteUserAvatarOperation.java:[line 118]
|
RV
|
Exceptional return value of java.io.File.renameTo(File) ignored in com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) Called method java.io.File.renameTo(File) At Log_OC.java:[line 210]
|
RV
|
Exceptional return value of java.io.File.delete() ignored in com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() Called method java.io.File.delete() At Log_OC.java:[line 181]
|
RV
|
Exceptional return value of java.io.File.createNewFile() ignored in com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) Called method java.io.File.createNewFile() At DownloadFileRemoteOperation.java:[line 110]
|
RV
|
Exceptional return value of java.io.File.delete() ignored in com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) Called method java.io.File.delete() At DownloadFileRemoteOperation.java:[line 180]
|
RV
|
Exceptional return value of java.io.File.mkdirs() ignored in com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(OwnCloudClient) |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(OwnCloudClient) Called method java.io.File.mkdirs() At DownloadFileRemoteOperation.java:[line 83]
|
Se
|
Class com.owncloud.android.lib.common.operations.RemoteOperationResult defines non-transient non-serializable instance field mNotificationData |
|
Bug type SE_BAD_FIELD (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult Field com.owncloud.android.lib.common.operations.RemoteOperationResult.mNotificationData Actual type com.owncloud.android.lib.resources.notifications.models.Notification In RemoteOperationResult.java
|
Se
|
Class com.owncloud.android.lib.common.operations.RemoteOperationResult defines non-transient non-serializable instance field mPushResponse |
|
Bug type SE_BAD_FIELD (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult Field com.owncloud.android.lib.common.operations.RemoteOperationResult.mPushResponse Actual type com.owncloud.android.lib.resources.notifications.models.PushResponse In RemoteOperationResult.java
|
BED
|
Method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(String, int) declares throwing two or more exceptions related by inheritance |
|
Bug type BED_HIERARCHICAL_EXCEPTION_DECLARATION (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(String, int) Value java.net.UnknownHostException derives from java.io.IOException At AdvancedSslSocketFactory.java:[lines 212-216]
|
BED
|
Method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(String, int, InetAddress, int, HttpConnectionParams) declares throwing two or more exceptions related by inheritance |
|
Bug type BED_HIERARCHICAL_EXCEPTION_DECLARATION (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(String, int, InetAddress, int, HttpConnectionParams) Value java.net.UnknownHostException derives from java.io.IOException At AdvancedSslSocketFactory.java:[lines 166-188]
|
BED
|
Method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(Socket, String, int, boolean) declares throwing two or more exceptions related by inheritance |
|
Bug type BED_HIERARCHICAL_EXCEPTION_DECLARATION (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.createSocket(Socket, String, int, boolean) Value java.net.UnknownHostException derives from java.io.IOException At AdvancedSslSocketFactory.java:[lines 223-226]
|
BED
|
Non derivable method com.owncloud.android.lib.common.network.AdvancedX509TrustManager.findX509TrustManager(TrustManagerFactory) declares throwing an exception that isn't thrown |
|
Bug type BED_BOGUS_EXCEPTION_DECLARATION (click for details)
In class com.owncloud.android.lib.common.network.AdvancedX509TrustManager In method com.owncloud.android.lib.common.network.AdvancedX509TrustManager.findX509TrustManager(TrustManagerFactory) At AdvancedX509TrustManager.java:[line 80] Value java.security.cert.CertStoreException
|
CLI
|
Method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) accesses list or array with constant index |
|
Bug type CLI_CONSTANT_LIST_INDEX (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 108]
|
CLI
|
Method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) accesses list or array with constant index |
|
Bug type CLI_CONSTANT_LIST_INDEX (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) At Log_OC.java:[line 208]
|
FCBL
|
Class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser defines fields that are used only as locals |
|
Bug type FCBL_FIELD_COULD_BE_LOCAL (click for details)
In class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser Field com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.mOwnCloudVersion At ShareToRemoteOperationResultParser.java:[line 48]
|
FCCD
|
Class com.owncloud.android.lib.common.DynamicSessionManager has a circular dependency with other classes |
|
Bug type FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY (click for details)
In class com.owncloud.android.lib.common.DynamicSessionManager In class com.owncloud.android.lib.common.SingleSessionManager In class com.owncloud.android.lib.common.OwnCloudAccount In class com.owncloud.android.lib.common.OwnCloudCredentialsFactory In class com.owncloud.android.lib.common.OwnCloudSamlSsoCredentials In class com.owncloud.android.lib.common.OwnCloudClient In class com.owncloud.android.lib.common.OwnCloudClientManagerFactory At DynamicSessionManager.java:[lines 20-59]
|
FCCD
|
Class com.owncloud.android.lib.common.OwnCloudClient has a circular dependency with other classes |
|
Bug type FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In class com.owncloud.android.lib.common.OwnCloudCredentialsFactory In class com.owncloud.android.lib.common.OwnCloudBasicCredentials At OwnCloudClient.java:[lines 58-482]
|
ISB
|
Method com.owncloud.android.lib.common.OwnCloudClient.getCookiesString() concatenates the result of a toString() call |
|
Bug type ISB_TOSTRING_APPENDING (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In method com.owncloud.android.lib.common.OwnCloudClient.getCookiesString() At OwnCloudClient.java:[line 434]
|
LEST
|
Method com.owncloud.android.lib.common.network.ChunkFromFileChannelRequestEntity.writeRequest(OutputStream) throws alternative exception from catch block without history |
|
Bug type LEST_LOST_EXCEPTION_STACK_TRACE (click for details)
In class com.owncloud.android.lib.common.network.ChunkFromFileChannelRequestEntity In method com.owncloud.android.lib.common.network.ChunkFromFileChannelRequestEntity.writeRequest(OutputStream) At ChunkFromFileChannelRequestEntity.java:[line 166]
|
LEST
|
Method com.owncloud.android.lib.common.network.FileRequestEntity.writeRequest(OutputStream) throws alternative exception from catch block without history |
|
Bug type LEST_LOST_EXCEPTION_STACK_TRACE (click for details)
In class com.owncloud.android.lib.common.network.FileRequestEntity In method com.owncloud.android.lib.common.network.FileRequestEntity.writeRequest(OutputStream) At FileRequestEntity.java:[line 142]
|
LSYC
|
Method com.owncloud.android.lib.common.network.BearerAuthScheme.authenticate(BearerCredentials, String) creates local variable-based synchronized collection |
|
Bug type LSYC_LOCAL_SYNCHRONIZED_COLLECTION (click for details)
In class com.owncloud.android.lib.common.network.BearerAuthScheme In method com.owncloud.android.lib.common.network.BearerAuthScheme.authenticate(BearerCredentials, String) At BearerAuthScheme.java:[line 220]
|
MDM
|
Method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, String, int) encodes String bytes without specifying the character encoding |
|
Bug type MDM_STRING_BYTES_ENCODING (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, String, int) Called method String.getBytes() At RemoteOperationResult.java:[line 236]
|
MDM
|
Method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, HttpMethod) encodes String bytes without specifying the character encoding |
|
Bug type MDM_STRING_BYTES_ENCODING (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, HttpMethod) Called method String.getBytes() At RemoteOperationResult.java:[line 326]
|
MDM
|
Method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) encodes String bytes without specifying the character encoding |
|
Bug type MDM_STRING_BYTES_ENCODING (click for details)
In class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser In method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) Called method String.getBytes() At ShareToRemoteOperationResultParser.java:[line 78]
|
NP
|
Possible null pointer dereference of fos in com.owncloud.android.lib.common.network.NetworkUtils.addCertToKnownServersStore(Certificate, Context) on exception path |
|
Bug type NP_NULL_ON_SOME_PATH_EXCEPTION (click for details)
In class com.owncloud.android.lib.common.network.NetworkUtils In method com.owncloud.android.lib.common.network.NetworkUtils.addCertToKnownServersStore(Certificate, Context) Value loaded from fos Dereferenced at NetworkUtils.java:[line 183] Null value at NetworkUtils.java:[line 178] Known null at NetworkUtils.java:[line 180]
|
PCOA
|
Constructor new com.owncloud.android.lib.common.network.BearerAuthScheme(String) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.common.network.BearerAuthScheme In method new com.owncloud.android.lib.common.network.BearerAuthScheme(String) At BearerAuthScheme.java:[line 79]
|
PCOA
|
Constructor new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, int, String, Header[]) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, int, String, Header[]) At RemoteOperationResult.java:[line 376]
|
PCOA
|
Constructor new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, int, Header[]) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, int, Header[]) At RemoteOperationResult.java:[line 221]
|
PCOA
|
Constructor new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In method new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) At OwnCloudClient.java:[line 108]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.files.model.FileVersion(Parcel) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.files.model.FileVersion In method new com.owncloud.android.lib.resources.files.model.FileVersion(Parcel) At FileVersion.java:[line 148]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.files.model.FileVersion(String, WebdavEntry) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.files.model.FileVersion In method new com.owncloud.android.lib.resources.files.model.FileVersion(String, WebdavEntry) At FileVersion.java:[line 115]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.files.model.RemoteFile(Parcel) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.files.model.RemoteFile In method new com.owncloud.android.lib.resources.files.model.RemoteFile(Parcel) At RemoteFile.java:[line 284]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.files.model.RemoteFile(WebdavEntry) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.files.model.RemoteFile In method new com.owncloud.android.lib.resources.files.model.RemoteFile(WebdavEntry) At RemoteFile.java:[line 226]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.shares.OCShare(Parcel) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.shares.OCShare In method new com.owncloud.android.lib.resources.shares.OCShare(Parcel) At OCShare.java:[line 313]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.trashbin.model.TrashbinFile(Parcel) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.trashbin.model.TrashbinFile In method new com.owncloud.android.lib.resources.trashbin.model.TrashbinFile(Parcel) At TrashbinFile.java:[line 196]
|
PCOA
|
Constructor new com.owncloud.android.lib.resources.trashbin.model.TrashbinFile(WebdavEntry, String) makes call to non-final method |
|
Bug type PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS (click for details)
In class com.owncloud.android.lib.resources.trashbin.model.TrashbinFile In method new com.owncloud.android.lib.resources.trashbin.model.TrashbinFile(WebdavEntry, String) At TrashbinFile.java:[line 160]
|
PDP
|
Method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) defines parameters more abstractly than needed to function properly |
|
Bug type PDP_POORLY_DEFINED_PARAMETER (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) At AdvancedSslSocketFactory.java:[line 265] Value socket
|
RV
|
Bad attempt to compute absolute value of signed 32-bit hashcode in com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) |
|
Bug type RV_ABSOLUTE_VALUE_OF_HASHCODE (click for details)
In class com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation In method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) At ChunkedFileUploadRemoteOperation.java:[line 82]
|
SPP
|
Method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) checks a reference for null before calling instanceof |
|
Bug type SPP_NULL_BEFORE_INSTANCEOF (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) At AdvancedSslSocketFactory.java:[line 281]
|
SPP
|
Method com.owncloud.android.lib.common.network.AdvancedX509TrustManager.checkServerTrusted(X509Certificate[], String) checks a reference for null before calling instanceof |
|
Bug type SPP_NULL_BEFORE_INSTANCEOF (click for details)
In class com.owncloud.android.lib.common.network.AdvancedX509TrustManager In method com.owncloud.android.lib.common.network.AdvancedX509TrustManager.checkServerTrusted(X509Certificate[], String) At AdvancedX509TrustManager.java:[line 124]
|
SPP
|
Method com.owncloud.android.lib.common.operations.RemoteOperation.run() calls equals on an enum instance |
|
Bug type SPP_EQUALS_ON_ENUM (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperation In method com.owncloud.android.lib.common.operations.RemoteOperation.run() At RemoteOperation.java:[line 323]
|
SPP
|
Method com.owncloud.android.lib.resources.shares.OCShare.isPasswordProtected() calls equals on an enum instance |
|
Bug type SPP_EQUALS_ON_ENUM (click for details)
In class com.owncloud.android.lib.resources.shares.OCShare In method com.owncloud.android.lib.resources.shares.OCShare.isPasswordProtected() At OCShare.java:[line 269]
|
SUA
|
Method com.owncloud.android.lib.common.ExternalLink$$Parcelable$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.common.ExternalLink$$Parcelable$1 In method com.owncloud.android.lib.common.ExternalLink$$Parcelable$1.newArray(int) At ExternalLink$$Parcelable.java:[line 32]
|
SUA
|
Method com.owncloud.android.lib.common.Quota$$Parcelable$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.common.Quota$$Parcelable$1 In method com.owncloud.android.lib.common.Quota$$Parcelable$1.newArray(int) At Quota$$Parcelable.java:[line 32]
|
SUA
|
Method com.owncloud.android.lib.common.UserInfo$$Parcelable$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.common.UserInfo$$Parcelable$1 In method com.owncloud.android.lib.common.UserInfo$$Parcelable$1.newArray(int) At UserInfo$$Parcelable.java:[line 32]
|
SUA
|
Method com.owncloud.android.lib.resources.files.model.FileVersion$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.resources.files.model.FileVersion$1 In method com.owncloud.android.lib.resources.files.model.FileVersion$1.newArray(int) At FileVersion.java:[line 137]
|
SUA
|
Method com.owncloud.android.lib.resources.files.model.RemoteFile$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.resources.files.model.RemoteFile$1 In method com.owncloud.android.lib.resources.files.model.RemoteFile$1.newArray(int) At RemoteFile.java:[line 273]
|
SUA
|
Method com.owncloud.android.lib.resources.shares.OCShare$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.resources.shares.OCShare$1 In method com.owncloud.android.lib.resources.shares.OCShare$1.newArray(int) At OCShare.java:[line 303]
|
SUA
|
Method com.owncloud.android.lib.resources.trashbin.model.TrashbinFile$1.newArray(int) returns an array that appears not to be initialized |
|
Bug type SUA_SUSPICIOUS_UNINITIALIZED_ARRAY (click for details)
In class com.owncloud.android.lib.resources.trashbin.model.TrashbinFile$1 In method com.owncloud.android.lib.resources.trashbin.model.TrashbinFile$1.newArray(int) At TrashbinFile.java:[line 185]
|
Dm
|
Found reliance on default encoding in new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, String, int): String.getBytes() |
|
Bug type DM_DEFAULT_ENCODING (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, String, int) Called method String.getBytes() At RemoteOperationResult.java:[line 236]
|
Dm
|
Found reliance on default encoding in new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, HttpMethod): String.getBytes() |
|
Bug type DM_DEFAULT_ENCODING (click for details)
In class com.owncloud.android.lib.common.operations.RemoteOperationResult In method new com.owncloud.android.lib.common.operations.RemoteOperationResult(boolean, HttpMethod) Called method String.getBytes() At RemoteOperationResult.java:[line 326]
|
Dm
|
Found reliance on default encoding in com.owncloud.android.lib.common.utils.Log_OC.appendLog(String): new java.io.FileWriter(File, boolean) |
|
Bug type DM_DEFAULT_ENCODING (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) Called method new java.io.FileWriter(File, boolean) At Log_OC.java:[line 222]
|
Dm
|
Found reliance on default encoding in com.owncloud.android.lib.common.utils.Log_OC.startLogging(Context): new java.io.FileWriter(File, boolean) |
|
Bug type DM_DEFAULT_ENCODING (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.startLogging(Context) Called method new java.io.FileWriter(File, boolean) At Log_OC.java:[line 132]
|
Dm
|
Found reliance on default encoding in com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String): String.getBytes() |
|
Bug type DM_DEFAULT_ENCODING (click for details)
In class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser In method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) Called method String.getBytes() At ShareToRemoteOperationResultParser.java:[line 78]
|
EI
|
com.owncloud.android.lib.resources.activities.model.Activity.getDate() may expose internal representation by returning Activity.date |
|
Bug type EI_EXPOSE_REP (click for details)
In class com.owncloud.android.lib.resources.activities.model.Activity In method com.owncloud.android.lib.resources.activities.model.Activity.getDate() Field com.owncloud.android.lib.resources.activities.model.Activity.date At Activity.java:[line 68]
|
EI
|
com.owncloud.android.lib.resources.activities.model.Activity.getDatetime() may expose internal representation by returning Activity.datetime |
|
Bug type EI_EXPOSE_REP (click for details)
In class com.owncloud.android.lib.resources.activities.model.Activity In method com.owncloud.android.lib.resources.activities.model.Activity.getDatetime() Field com.owncloud.android.lib.resources.activities.model.Activity.datetime At Activity.java:[line 84]
|
EI
|
com.owncloud.android.lib.resources.notifications.models.Notification.getDatetime() may expose internal representation by returning Notification.datetime |
|
Bug type EI_EXPOSE_REP (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Notification In method com.owncloud.android.lib.resources.notifications.models.Notification.getDatetime() Field com.owncloud.android.lib.resources.notifications.models.Notification.datetime At Notification.java:[line 179]
|
EI
|
com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation$ResultData.getAvatarData() may expose internal representation by returning GetRemoteUserAvatarOperation$ResultData.mAvatarData |
|
Bug type EI_EXPOSE_REP (click for details)
In class com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation$ResultData In method com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation$ResultData.getAvatarData() Field com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation$ResultData.mAvatarData At GetRemoteUserAvatarOperation.java:[line 213]
|
EI2
|
com.owncloud.android.lib.resources.activities.model.Activity.setDate(Date) may expose internal representation by storing an externally mutable object into Activity.date |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class com.owncloud.android.lib.resources.activities.model.Activity In method com.owncloud.android.lib.resources.activities.model.Activity.setDate(Date) Field com.owncloud.android.lib.resources.activities.model.Activity.date Local variable named date At Activity.java:[line 72]
|
EI2
|
com.owncloud.android.lib.resources.activities.model.Activity.setDatetime(Date) may expose internal representation by storing an externally mutable object into Activity.datetime |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class com.owncloud.android.lib.resources.activities.model.Activity In method com.owncloud.android.lib.resources.activities.model.Activity.setDatetime(Date) Field com.owncloud.android.lib.resources.activities.model.Activity.datetime Local variable named datetime At Activity.java:[line 88]
|
EI2
|
new com.owncloud.android.lib.resources.notifications.models.Notification(int, String, String, Date, String, String, String, String, Map, String, String, Map, String, String, Collection) may expose internal representation by storing an externally mutable object into Notification.datetime |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Notification In method new com.owncloud.android.lib.resources.notifications.models.Notification(int, String, String, Date, String, String, String, String, Map, String, String, Map, String, String, Collection) Field com.owncloud.android.lib.resources.notifications.models.Notification.datetime Local variable named datetime At Notification.java:[line 140]
|
EI2
|
com.owncloud.android.lib.resources.notifications.models.Notification.setDatetime(Date) may expose internal representation by storing an externally mutable object into Notification.datetime |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Notification In method com.owncloud.android.lib.resources.notifications.models.Notification.setDatetime(Date) Field com.owncloud.android.lib.resources.notifications.models.Notification.datetime Local variable named datetime At Notification.java:[line 183]
|
MS
|
Public static com.owncloud.android.lib.common.utils.Log_OC.getLogFileNames() may expose internal representation by returning Log_OC.mLogFileNames |
|
Bug type MS_EXPOSE_REP (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.getLogFileNames() Field com.owncloud.android.lib.common.utils.Log_OC.mLogFileNames At Log_OC.java:[line 246]
|
JLM
|
Synchronization performed on java.util.concurrent.atomic.AtomicBoolean in com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) |
|
Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) Type java.util.concurrent.atomic.AtomicBoolean Value loaded from transferEncodingHeader At DownloadFileRemoteOperation.java:[line 123]
|
JLM
|
Synchronization performed on java.util.concurrent.atomic.AtomicBoolean in com.owncloud.android.lib.resources.files.UploadFileRemoteOperation.cancel() |
|
Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER (click for details)
In class com.owncloud.android.lib.resources.files.UploadFileRemoteOperation In method com.owncloud.android.lib.resources.files.UploadFileRemoteOperation.cancel() Type java.util.concurrent.atomic.AtomicBoolean Value loaded from field com.owncloud.android.lib.resources.files.UploadFileRemoteOperation.mCancellationRequested At UploadFileRemoteOperation.java:[line 184]
|
LI
|
Incorrect lazy initialization and update of static field com.owncloud.android.lib.common.network.NetworkUtils.mConnManager in com.owncloud.android.lib.common.network.NetworkUtils.getMultiThreadedConnManager() |
|
Bug type LI_LAZY_INIT_UPDATE_STATIC (click for details)
In class com.owncloud.android.lib.common.network.NetworkUtils In method com.owncloud.android.lib.common.network.NetworkUtils.getMultiThreadedConnManager() On field com.owncloud.android.lib.common.network.NetworkUtils.mConnManager At NetworkUtils.java:[lines 189-190]
|
Bx
|
Boxing/unboxing to parse a primitive new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) |
|
Bug type DM_BOXED_PRIMITIVE_FOR_PARSING (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) Called method Integer.intValue() Should call Integer.parseInt(String) instead At WebdavEntry.java:[line 274]
|
IOI
|
Method com.owncloud.android.lib.common.network.NetworkUtils.getKnownServersStore(Context) uses a FileInputStream or FileOutputStream constructor |
|
Bug type IOI_USE_OF_FILE_STREAM_CONSTRUCTORS (click for details)
In class com.owncloud.android.lib.common.network.NetworkUtils In method com.owncloud.android.lib.common.network.NetworkUtils.getKnownServersStore(Context) At NetworkUtils.java:[line 158]
|
IOI
|
Method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) uses a FileInputStream or FileOutputStream constructor |
|
Bug type IOI_USE_OF_FILE_STREAM_CONSTRUCTORS (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) At DownloadFileRemoteOperation.java:[line 112]
|
NAB
|
Method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) converts String to primitive using excessive boxing |
|
Bug type NAB_NEEDLESS_BOXING_PARSE (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 274]
|
NAB
|
Method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) converts String to primitive using excessive boxing |
|
Bug type NAB_NEEDLESS_BOXING_PARSE (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 282]
|
NAB
|
Method new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) needlessly boxes a boolean constant |
|
Bug type NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In method new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) At OwnCloudClient.java:[line 104]
|
PRMC
|
Method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation In method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) At ChunkedFileUploadRemoteOperation.java:[line 100] Value length()J
|
PRMC
|
Method com.owncloud.android.lib.resources.files.CopyFileRemoteOperation.run(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.CopyFileRemoteOperation In method com.owncloud.android.lib.resources.files.CopyFileRemoteOperation.run(OwnCloudClient) At CopyFileRemoteOperation.java:[line 105] Value getWebdavUri()Landroid/net/Uri;
|
PRMC
|
Method com.owncloud.android.lib.resources.files.MoveFileRemoteOperation.run(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.MoveFileRemoteOperation In method com.owncloud.android.lib.resources.files.MoveFileRemoteOperation.run(OwnCloudClient) At MoveFileRemoteOperation.java:[line 111] Value getWebdavUri()Landroid/net/Uri;
|
PRMC
|
Method com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.readData(MultiStatus, OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation In method com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.readData(MultiStatus, OwnCloudClient) At ReadFolderRemoteOperation.java:[line 151] Value getWebdavUri()Landroid/net/Uri;
|
PRMC
|
Method com.owncloud.android.lib.resources.files.RenameFileRemoteOperation.run(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.RenameFileRemoteOperation In method com.owncloud.android.lib.resources.files.RenameFileRemoteOperation.run(OwnCloudClient) At RenameFileRemoteOperation.java:[line 102] Value getWebdavUri()Landroid/net/Uri;
|
PRMC
|
Method com.owncloud.android.lib.resources.files.RestoreFileVersionRemoteOperation.run(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.files.RestoreFileVersionRemoteOperation In method com.owncloud.android.lib.resources.files.RestoreFileVersionRemoteOperation.run(OwnCloudClient) At RestoreFileVersionRemoteOperation.java:[line 80] Value getNewWebdavUri()Landroid/net/Uri;
|
PRMC
|
Method com.owncloud.android.lib.resources.trashbin.RestoreTrashbinFileRemoteOperation.run(OwnCloudClient) appears to call the same method on the same object redundantly |
|
Bug type PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS (click for details)
In class com.owncloud.android.lib.resources.trashbin.RestoreTrashbinFileRemoteOperation In method com.owncloud.android.lib.resources.trashbin.RestoreTrashbinFileRemoteOperation.run(OwnCloudClient) At RestoreTrashbinFileRemoteOperation.java:[line 81] Value getNewWebdavUri()Landroid/net/Uri;
|
SBSC
|
com.owncloud.android.lib.common.OwnCloudClient.getCookiesString() concatenates strings using + in a loop |
|
Bug type SBSC_USE_STRINGBUFFER_CONCATENATION (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In method com.owncloud.android.lib.common.OwnCloudClient.getCookiesString() At OwnCloudClient.java:[line 434]
|
SBSC
|
com.owncloud.android.lib.resources.status.OwnCloudVersion.toString() concatenates strings using + in a loop |
|
Bug type SBSC_USE_STRINGBUFFER_CONCATENATION (click for details)
In class com.owncloud.android.lib.resources.status.OwnCloudVersion In method com.owncloud.android.lib.resources.status.OwnCloudVersion.toString() At OwnCloudVersion.java:[line 76]
|
UCPM
|
Method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) passes constant String of length 1 to character overridden method |
|
Bug type UCPM_USE_CHARACTER_PARAMETERIZED_METHOD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 133]
|
UCPM
|
Method com.owncloud.android.lib.common.utils.WebDavFileUtils.readData(MultiStatus, OwnCloudClient, boolean, boolean, String) passes constant String of length 1 to character overridden method |
|
Bug type UCPM_USE_CHARACTER_PARAMETERIZED_METHOD (click for details)
In class com.owncloud.android.lib.common.utils.WebDavFileUtils In method com.owncloud.android.lib.common.utils.WebDavFileUtils.readData(MultiStatus, OwnCloudClient, boolean, boolean, String) At WebDavFileUtils.java:[line 73]
|
WMI
|
com.owncloud.android.lib.common.SingleSessionManager.saveAllClients(Context, String) makes inefficient use of keySet iterator instead of entrySet iterator |
|
Bug type WMI_WRONG_MAP_ITERATOR (click for details)
In class com.owncloud.android.lib.common.SingleSessionManager In method com.owncloud.android.lib.common.SingleSessionManager.saveAllClients(Context, String) Field com.owncloud.android.lib.common.SingleSessionManager.mClientsWithKnownUsername At SingleSessionManager.java:[line 209]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.common.accounts.ExternalLinksOperation In method com.owncloud.android.lib.common.accounts.ExternalLinksOperation.run(OwnCloudClient) At ExternalLinksOperation.java:[line 85] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At ExternalLinksOperation.java:[line 75]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.activities.GetActivitiesRemoteOperation In method com.owncloud.android.lib.resources.activities.GetActivitiesRemoteOperation.run(OwnCloudClient) At GetActivitiesRemoteOperation.java:[line 114] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; Unknown source com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.nextUrl At GetActivitiesRemoteOperation.java:[line 98] At GetActivitiesRemoteOperation.java:[line 100] At GetActivitiesRemoteOperation.java:[line 103] At GetActivitiesRemoteOperation.java:[line 108]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.e2ee.GetMetadataRemoteOperation In method com.owncloud.android.lib.resources.e2ee.GetMetadataRemoteOperation.run(OwnCloudClient) At GetMetadataRemoteOperation.java:[line 79] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.fileId Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetMetadataRemoteOperation.java:[line 79]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) At DownloadFileRemoteOperation.java:[line 103] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/network/WebdavUtils.encodePath(Ljava/lang/String;)Ljava/lang/String; Unknown source com/owncloud/android/lib/common/OwnCloudClient.getWebdavUri()Landroid/net/Uri; At DownloadFileRemoteOperation.java:[line 103]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.notifications.GetRemoteNotificationsOperation In method com.owncloud.android.lib.resources.notifications.GetRemoteNotificationsOperation.run(OwnCloudClient) At GetRemoteNotificationsOperation.java:[line 93] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetRemoteNotificationsOperation.java:[line 86] At GetRemoteNotificationsOperation.java:[line 88]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.shares.GetRemoteShareesOperation In method com.owncloud.android.lib.resources.shares.GetRemoteShareesOperation.run(OwnCloudClient) At GetRemoteShareesOperation.java:[line 132] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source android/net/Uri.toString()Ljava/lang/String; At GetRemoteShareesOperation.java:[line 132]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.shares.GetRemoteShareOperation In method com.owncloud.android.lib.resources.shares.GetRemoteShareOperation.run(OwnCloudClient) At GetRemoteShareOperation.java:[line 62] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source java/lang/Long.toString(J)Ljava/lang/String; Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetRemoteShareOperation.java:[line 62]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation In method com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation.run(OwnCloudClient) At GetRemoteSharesForFileOperation.java:[line 81] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetRemoteSharesForFileOperation.java:[line 81]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.shares.GetRemoteSharesOperation In method com.owncloud.android.lib.resources.shares.GetRemoteSharesOperation.run(OwnCloudClient) At GetRemoteSharesOperation.java:[line 54] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetRemoteSharesOperation.java:[line 54]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation In method com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation.run(OwnCloudClient) At GetRemoteCapabilitiesOperation.java:[line 163] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source android/net/Uri.toString()Ljava/lang/String; At GetRemoteCapabilitiesOperation.java:[line 163]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.status.GetRemoteStatusOperation In method com.owncloud.android.lib.resources.status.GetRemoteStatusOperation.tryConnection(OwnCloudClient) At GetRemoteStatusOperation.java:[line 80] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source android/net/Uri.toString()Ljava/lang/String; At GetRemoteStatusOperation.java:[line 78] At GetRemoteStatusOperation.java:[line 80]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.status.GetRemoteStatusOperation In method com.owncloud.android.lib.resources.status.GetRemoteStatusOperation.tryConnection(OwnCloudClient) At GetRemoteStatusOperation.java:[line 100] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/operations/RemoteOperationResult.getRedirectedLocation()Ljava/lang/String; At GetRemoteStatusOperation.java:[line 91] At GetRemoteStatusOperation.java:[line 103]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.users.GetPrivateKeyOperation In method com.owncloud.android.lib.resources.users.GetPrivateKeyOperation.run(OwnCloudClient) At GetPrivateKeyOperation.java:[line 67] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetPrivateKeyOperation.java:[line 67]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.users.GetPublicKeyOperation In method com.owncloud.android.lib.resources.users.GetPublicKeyOperation.run(OwnCloudClient) At GetPublicKeyOperation.java:[line 76] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; At GetPublicKeyOperation.java:[line 76]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation In method com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation.run(OwnCloudClient) At GetRemoteUserAvatarOperation.java:[line 81] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/users/GetRemoteUserAvatarOperation.getAvatarUri(Lcom/owncloud/android/lib/common/OwnCloudClient;I)Ljava/lang/String; At GetRemoteUserAvatarOperation.java:[line 78]
|
SECHPP
|
Concatenating user-controlled input into a URL |
|
Bug type HTTP_PARAMETER_POLLUTION (click for details)
In class com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation In method com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation.run(OwnCloudClient) At GetRemoteUserInfoOperation.java:[line 116] Sink method org/apache/commons/httpclient/methods/GetMethod.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/OwnCloudClient.getBaseUri()Landroid/net/Uri; Unknown source com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.userID At GetRemoteUserInfoOperation.java:[line 105] At GetRemoteUserInfoOperation.java:[line 107]
|
SECPTI
|
java/io/File.<init>(Ljava/io/File;Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.network.NetworkUtils In method com.owncloud.android.lib.common.network.NetworkUtils.getKnownServersStore(Context) At NetworkUtils.java:[line 155] Sink method java/io/File.<init>(Ljava/io/File;Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/network/NetworkUtils.LOCAL_TRUSTSTORE_FILENAME At NetworkUtils.java:[line 155]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) At Log_OC.java:[line 208] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/utils/Log_OC.mLogFileNames Unknown source com/owncloud/android/lib/common/utils/Log_OC.mFolder Unknown source java/io/File.separator At Log_OC.java:[line 208]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.appendLog(String) At Log_OC.java:[line 214] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/utils/Log_OC.mLogFileNames Unknown source com/owncloud/android/lib/common/utils/Log_OC.mFolder Unknown source java/io/File.separator At Log_OC.java:[line 214]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() At Log_OC.java:[line 177] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/utils/Log_OC.mFolder Unknown source java/io/File.separator At Log_OC.java:[line 177]
|
SECPTI
|
java/io/File.<init>(Ljava/io/File;Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() At Log_OC.java:[line 181] Sink method java/io/File.<init>(Ljava/io/File;Ljava/lang/String;)V Sink parameter 0 Unknown source java/io/File.list()[Ljava/lang/String; At Log_OC.java:[line 179]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.startLogging(Context) At Log_OC.java:[line 117] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/utils/Log_OC.mNextcloudDataFolderLog At Log_OC.java:[line 117]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.startLogging(Context) At Log_OC.java:[line 118] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/common/utils/Log_OC.mLogFileNames Unknown source com/owncloud/android/lib/common/utils/Log_OC.mFolder Unknown source java/io/File.separator At Log_OC.java:[line 118]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation In method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) At ChunkedFileUploadRemoteOperation.java:[line 79] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/files/ChunkedFileUploadRemoteOperation.mLocalPath At ChunkedFileUploadRemoteOperation.java:[line 79]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(OwnCloudClient) At DownloadFileRemoteOperation.java:[line 79] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/files/DownloadFileRemoteOperation.getTmpPath()Ljava/lang/String; At DownloadFileRemoteOperation.java:[line 79]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.resources.files.FileUtils In method com.owncloud.android.lib.resources.files.FileUtils.getParentPath(String) At FileUtils.java:[line 37] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 At CreateFolderRemoteOperation.java:[line 78]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.resources.files.RenameFileRemoteOperation In method new com.owncloud.android.lib.resources.files.RenameFileRemoteOperation(String, String, String, boolean) At RenameFileRemoteOperation.java:[line 72] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/files/RenameFileRemoteOperation.mOldRemotePath At RenameFileRemoteOperation.java:[line 72]
|
SECPTI
|
java/io/File.<init>(Ljava/lang/String;)V reads a file whose location might be specified by user input |
|
Bug type PATH_TRAVERSAL_IN (click for details)
In class com.owncloud.android.lib.resources.files.UploadFileRemoteOperation In method com.owncloud.android.lib.resources.files.UploadFileRemoteOperation.uploadFile(OwnCloudClient) At UploadFileRemoteOperation.java:[line 137] Sink method java/io/File.<init>(Ljava/lang/String;)V Sink parameter 0 Unknown source com/owncloud/android/lib/resources/files/UploadFileRemoteOperation.mLocalPath At UploadFileRemoteOperation.java:[line 137]
|
CC
|
Method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) is excessively complex, with a cyclomatic complexity of 56 |
|
Bug type CC_CYCLOMATIC_COMPLEXITY (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 95] Value 56
|
CC
|
Method com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation.run(OwnCloudClient) is excessively complex, with a cyclomatic complexity of 84 |
|
Bug type CC_CYCLOMATIC_COMPLEXITY (click for details)
In class com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation In method com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation.run(OwnCloudClient) At GetRemoteCapabilitiesOperation.java:[line 154] Value 84
|
CE
|
Method com.owncloud.android.lib.common.ExternalLink$$Parcelable.read(Parcel, IdentityCollection) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.common.ExternalLink$$Parcelable In method com.owncloud.android.lib.common.ExternalLink$$Parcelable.read(Parcel, IdentityCollection) At ExternalLink$$Parcelable.java:[lines 80-108] Value com.owncloud.android.lib.common.ExternalLink
|
CE
|
Method com.owncloud.android.lib.common.ExternalLink$$Parcelable.write(ExternalLink, Parcel, int, IdentityCollection) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.common.ExternalLink$$Parcelable In method com.owncloud.android.lib.common.ExternalLink$$Parcelable.write(ExternalLink, Parcel, int, IdentityCollection) At ExternalLink$$Parcelable.java:[lines 48-67] Value com.owncloud.android.lib.common.ExternalLink
|
CE
|
Method com.owncloud.android.lib.common.UserInfo$$Parcelable.read(Parcel, IdentityCollection) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.common.UserInfo$$Parcelable In method com.owncloud.android.lib.common.UserInfo$$Parcelable.read(Parcel, IdentityCollection) At UserInfo$$Parcelable.java:[lines 81-111] Value com.owncloud.android.lib.common.UserInfo
|
CE
|
Method com.owncloud.android.lib.common.UserInfo$$Parcelable.write(UserInfo, Parcel, int, IdentityCollection) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.common.UserInfo$$Parcelable In method com.owncloud.android.lib.common.UserInfo$$Parcelable.write(UserInfo, Parcel, int, IdentityCollection) At UserInfo$$Parcelable.java:[lines 48-68] Value com.owncloud.android.lib.common.UserInfo
|
CE
|
Method com.owncloud.android.lib.common.utils.WebDavFileUtils.fillOCFile(WebdavEntry) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.common.utils.WebDavFileUtils In method com.owncloud.android.lib.common.utils.WebDavFileUtils.fillOCFile(WebdavEntry) At WebDavFileUtils.java:[lines 97-108] Value com.owncloud.android.lib.common.network.WebdavEntry
|
CE
|
Method com.owncloud.android.lib.resources.activities.models.PreviewObjectAdapter.readObject(JsonReader) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.resources.activities.models.PreviewObjectAdapter In method com.owncloud.android.lib.resources.activities.models.PreviewObjectAdapter.readObject(JsonReader) At PreviewObjectAdapter.java:[lines 64-100] Value com.owncloud.android.lib.resources.activities.models.PreviewObject
|
CE
|
Method com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.fillOCFile(WebdavEntry) excessively uses methods of another class |
|
Bug type CE_CLASS_ENVY (click for details)
In class com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation In method com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation.fillOCFile(WebdavEntry) At ReadFolderRemoteOperation.java:[lines 165-183] Value com.owncloud.android.lib.common.network.WebdavEntry
|
DLS
|
Dead store to version in com.owncloud.android.lib.common.accounts.AccountUtils.constructFullURLForAccount(Context, Account) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class com.owncloud.android.lib.common.accounts.AccountUtils In method com.owncloud.android.lib.common.accounts.AccountUtils.constructFullURLForAccount(Context, Account) Local variable named version At AccountUtils.java:[line 89]
|
DLS
|
Dead store to version in com.owncloud.android.lib.common.OwnCloudClientFactory.createOwnCloudClient(Account, Context) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class com.owncloud.android.lib.common.OwnCloudClientFactory In method com.owncloud.android.lib.common.OwnCloudClientFactory.createOwnCloudClient(Account, Context) Local variable named version At OwnCloudClientFactory.java:[line 114]
|
DLS
|
Dead store to version in com.owncloud.android.lib.resources.files.MoveFileRemoteOperation.run(OwnCloudClient) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class com.owncloud.android.lib.resources.files.MoveFileRemoteOperation In method com.owncloud.android.lib.resources.files.MoveFileRemoteOperation.run(OwnCloudClient) Local variable named version At MoveFileRemoteOperation.java:[line 92]
|
DRE
|
Method com.owncloud.android.lib.resources.status.OwnCloudVersion.getParsedVersion(String) declares RuntimeException in throws clause |
|
Bug type DRE_DECLARED_RUNTIME_EXCEPTION (click for details)
In class com.owncloud.android.lib.resources.status.OwnCloudVersion In method com.owncloud.android.lib.resources.status.OwnCloudVersion.getParsedVersion(String) Value java.lang.NumberFormatException At OwnCloudVersion.java:[lines 109-122]
|
LSC
|
Method com.owncloud.android.lib.common.operations.ExceptionParser.isInvalidCharacterException() makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.isInvalidCharacterException() At ExceptionParser.java:[line 88]
|
LSC
|
Method com.owncloud.android.lib.common.operations.ExceptionParser.isInvalidCharacterException() makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.isInvalidCharacterException() At ExceptionParser.java:[line 89]
|
LSC
|
Method com.owncloud.android.lib.common.operations.ExceptionParser.isVirusException() makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.isVirusException() At ExceptionParser.java:[line 93]
|
LSC
|
Method com.owncloud.android.lib.common.operations.ExceptionParser.readError(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.readError(XmlPullParser) At ExceptionParser.java:[line 112]
|
LSC
|
Method com.owncloud.android.lib.common.operations.ExceptionParser.readError(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.readError(XmlPullParser) At ExceptionParser.java:[line 114]
|
LSC
|
Method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) At DownloadFileRemoteOperation.java:[line 145]
|
LSC
|
Method com.owncloud.android.lib.resources.files.model.FileVersion.isFolder() makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.files.model.FileVersion In method com.owncloud.android.lib.resources.files.model.FileVersion.isFolder() At FileVersion.java:[line 98]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) At ShareXMLParser.java:[line 244]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) At ShareXMLParser.java:[line 247]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) At ShareXMLParser.java:[line 252]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readData(XmlPullParser) At ShareXMLParser.java:[line 257]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 297]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 303]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 306]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 307]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 310]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 313]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 316]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 320]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 323]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 326]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 330]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 333]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 336]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 342]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 345]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 348]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 350]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 353]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 356]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 361]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readElement(XmlPullParser, ArrayList) At ShareXMLParser.java:[line 364]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) At ShareXMLParser.java:[line 209]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) At ShareXMLParser.java:[line 212]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readMeta(XmlPullParser) At ShareXMLParser.java:[line 215]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readOCS(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readOCS(XmlPullParser) At ShareXMLParser.java:[line 180]
|
LSC
|
Method com.owncloud.android.lib.resources.shares.ShareXMLParser.readOCS(XmlPullParser) makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.readOCS(XmlPullParser) At ShareXMLParser.java:[line 182]
|
LSC
|
Method com.owncloud.android.lib.resources.trashbin.model.TrashbinFile.isFolder() makes literal string comparisons passing the literal as an argument |
|
Bug type LSC_LITERAL_STRING_COMPARISON (click for details)
In class com.owncloud.android.lib.resources.trashbin.model.TrashbinFile In method com.owncloud.android.lib.resources.trashbin.model.TrashbinFile.isFolder() At TrashbinFile.java:[line 143]
|
MOM
|
Class com.owncloud.android.lib.common.network.BearerAuthScheme 'overloads' a method with both instance and static versions |
|
Bug type MOM_MISLEADING_OVERLOAD_MODEL (click for details)
In class com.owncloud.android.lib.common.network.BearerAuthScheme In method com.owncloud.android.lib.common.network.BearerAuthScheme.authenticate(BearerCredentials) Value authenticate At BearerAuthScheme.java:[line 197]
|
NOS
|
Class com.owncloud.android.lib.common.network.WebdavUtils uses non owned variables to synchronize on |
|
Bug type NOS_NON_OWNED_SYNCHRONIZATION (click for details)
In class com.owncloud.android.lib.common.network.WebdavUtils In method com.owncloud.android.lib.common.network.WebdavUtils.parseResponseDate(String) At WebdavUtils.java:[line 59]
|
NP
|
Possible null pointer dereference in com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() due to return value of called method |
|
Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details)
In class com.owncloud.android.lib.common.utils.Log_OC In method com.owncloud.android.lib.common.utils.Log_OC.deleteHistoryLogging() Value loaded from files Dereferenced at Log_OC.java:[line 180] Known null at Log_OC.java:[line 179]
|
RCN
|
Redundant nullcheck of shares, which is known to be non-null in com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details)
In class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser In method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) Value loaded from shares Return value of com.owncloud.android.lib.resources.shares.ShareXMLParser.parseXMLResponse(InputStream) of type java.util.ArrayList Redundant null check at ShareToRemoteOperationResultParser.java:[line 88]
|
REC
|
Exception is caught when Exception is not thrown in com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) |
|
Bug type REC_CATCH_EXCEPTION (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) At DownloadFileRemoteOperation.java:[line 175]
|
SF
|
Switch statement found in com.owncloud.android.lib.common.operations.ExceptionParser.skip(XmlPullParser) where default case is missing |
|
Bug type SF_SWITCH_NO_DEFAULT (click for details)
In class com.owncloud.android.lib.common.operations.ExceptionParser In method com.owncloud.android.lib.common.operations.ExceptionParser.skip(XmlPullParser) At ExceptionParser.java:[lines 135-140]
|
SF
|
Switch statement found in com.owncloud.android.lib.resources.shares.ShareXMLParser.skip(XmlPullParser) where default case is missing |
|
Bug type SF_SWITCH_NO_DEFAULT (click for details)
In class com.owncloud.android.lib.resources.shares.ShareXMLParser In method com.owncloud.android.lib.resources.shares.ShareXMLParser.skip(XmlPullParser) At ShareXMLParser.java:[lines 434-439]
|
SPP
|
Method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) checks the size of a collection against zero rather than using isEmpty() |
|
Bug type SPP_USE_ISEMPTY (click for details)
In class com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser In method com.owncloud.android.lib.resources.shares.ShareToRemoteOperationResultParser.parse(String) At ShareToRemoteOperationResultParser.java:[line 86]
|
ST
|
Write to static field com.owncloud.android.lib.common.OwnCloudClient.sIntanceCounter from instance method new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class com.owncloud.android.lib.common.OwnCloudClient In method new com.owncloud.android.lib.common.OwnCloudClient(Uri, HttpConnectionManager, boolean) Field com.owncloud.android.lib.common.OwnCloudClient.sIntanceCounter At OwnCloudClient.java:[line 89]
|
STT
|
This method com.owncloud.android.lib.common.accounts.AccountUtils.getUsernameForAccount(Account) parses a String that is a field |
|
Bug type STT_STRING_PARSING_A_FIELD (click for details)
In class com.owncloud.android.lib.common.accounts.AccountUtils In method com.owncloud.android.lib.common.accounts.AccountUtils.getUsernameForAccount(Account) At AccountUtils.java:[line 146]
|
STT
|
This method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) parses a String that is a field |
|
Bug type STT_STRING_PARSING_A_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 104]
|
STT
|
This method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) parses a String that is a field |
|
Bug type STT_STRING_PARSING_A_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 115]
|
STT
|
This method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) parses a String that is a field |
|
Bug type STT_STRING_PARSING_A_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 118]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 114]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 210]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 216]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 290]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 296]
|
STT
|
This method com.owncloud.android.lib.common.network.WebdavEntry stores the value of a toString() call into a field |
|
Bug type STT_TOSTRING_STORED_IN_FIELD (click for details)
In class com.owncloud.android.lib.common.network.WebdavEntry In method new com.owncloud.android.lib.common.network.WebdavEntry(MultiStatusResponse, String) At WebdavEntry.java:[line 308]
|
STT
|
This method com.owncloud.android.lib.common.OwnCloudSamlSsoCredentials.applyTo(OwnCloudClient) parses a String that is a field |
|
Bug type STT_STRING_PARSING_A_FIELD (click for details)
In class com.owncloud.android.lib.common.OwnCloudSamlSsoCredentials In method com.owncloud.android.lib.common.OwnCloudSamlSsoCredentials.applyTo(OwnCloudClient) At OwnCloudSamlSsoCredentials.java:[line 50]
|
UP
|
Static or private method com.owncloud.android.lib.common.ExternalLink$$Parcelable.write(ExternalLink, Parcel, int, IdentityCollection) has unused parameters |
|
Bug type UP_UNUSED_PARAMETER (click for details)
In class com.owncloud.android.lib.common.ExternalLink$$Parcelable In method com.owncloud.android.lib.common.ExternalLink$$Parcelable.write(ExternalLink, Parcel, int, IdentityCollection) Value Parameter 3: flags$$0 At ExternalLink$$Parcelable.java:[lines 48-67]
|
UP
|
Static or private method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) has unused parameters |
|
Bug type UP_UNUSED_PARAMETER (click for details)
In class com.owncloud.android.lib.common.network.AdvancedSslSocketFactory In method com.owncloud.android.lib.common.network.AdvancedSslSocketFactory.verifyPeerIdentity(String, int, Socket) Value Parameter 2: port At AdvancedSslSocketFactory.java:[lines 261-343]
|
UP
|
Static or private method com.owncloud.android.lib.common.Quota$$Parcelable.write(Quota, Parcel, int, IdentityCollection) has unused parameters |
|
Bug type UP_UNUSED_PARAMETER (click for details)
In class com.owncloud.android.lib.common.Quota$$Parcelable In method com.owncloud.android.lib.common.Quota$$Parcelable.write(Quota, Parcel, int, IdentityCollection) Value Parameter 3: flags$$0 At Quota$$Parcelable.java:[lines 48-59]
|
UrF
|
Unread public/protected field: com.owncloud.android.lib.resources.notifications.models.Action.label |
|
Bug type URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Action Field com.owncloud.android.lib.resources.notifications.models.Action.label At Action.java:[line 58]
|
UrF
|
Unread public/protected field: com.owncloud.android.lib.resources.notifications.models.Action.link |
|
Bug type URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Action Field com.owncloud.android.lib.resources.notifications.models.Action.link At Action.java:[line 59]
|
UrF
|
Unread public/protected field: com.owncloud.android.lib.resources.notifications.models.Action.primary |
|
Bug type URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Action Field com.owncloud.android.lib.resources.notifications.models.Action.primary At Action.java:[line 61]
|
UrF
|
Unread public/protected field: com.owncloud.android.lib.resources.notifications.models.Action.type |
|
Bug type URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class com.owncloud.android.lib.resources.notifications.models.Action Field com.owncloud.android.lib.resources.notifications.models.Action.type At Action.java:[line 60]
|
USBR
|
Method com.owncloud.android.lib.common.accounts.AccountUtils.buildAccountName(Uri, String) stores return result in local before immediately returning it |
|
Bug type USBR_UNNECESSARY_STORE_BEFORE_RETURN (click for details)
In class com.owncloud.android.lib.common.accounts.AccountUtils In method com.owncloud.android.lib.common.accounts.AccountUtils.buildAccountName(Uri, String) At AccountUtils.java:[line 242]
|
USBR
|
Method com.owncloud.android.lib.common.network.BearerCredentials.hashCode() stores return result in local before immediately returning it |
|
Bug type USBR_UNNECESSARY_STORE_BEFORE_RETURN (click for details)
In class com.owncloud.android.lib.common.network.BearerCredentials In method com.owncloud.android.lib.common.network.BearerCredentials.hashCode() At BearerCredentials.java:[line 81]
|
USBR
|
Method com.owncloud.android.lib.resources.files.FileUtils.getParentPath(String) stores return result in local before immediately returning it |
|
Bug type USBR_UNNECESSARY_STORE_BEFORE_RETURN (click for details)
In class com.owncloud.android.lib.resources.files.FileUtils In method com.owncloud.android.lib.resources.files.FileUtils.getParentPath(String) At FileUtils.java:[line 39]
|
UTWR
|
Method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) manually handles closing an auto-closeable resource |
|
Bug type UTWR_USE_TRY_WITH_RESOURCES (click for details)
In class com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation In method com.owncloud.android.lib.resources.files.ChunkedFileUploadRemoteOperation.uploadFile(OwnCloudClient) At ChunkedFileUploadRemoteOperation.java:[line 149]
|
UTWR
|
Method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) manually handles closing an auto-closeable resource |
|
Bug type UTWR_USE_TRY_WITH_RESOURCES (click for details)
In class com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation In method com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(OwnCloudClient, File) At DownloadFileRemoteOperation.java:[line 178]
|
UTWR
|
Method com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation.run(OwnCloudClient) manually handles closing an auto-closeable resource |
|
Bug type UTWR_USE_TRY_WITH_RESOURCES (click for details)
In class com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation In method com.owncloud.android.lib.resources.users.GetRemoteUserAvatarOperation.run(OwnCloudClient) At GetRemoteUserAvatarOperation.java:[line 158]
|
UwF
|
Unwritten public or protected field: com.owncloud.android.lib.resources.activities.model.Activity.objects |
|
Bug type UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class com.owncloud.android.lib.resources.activities.model.Activity Field com.owncloud.android.lib.resources.activities.model.Activity.objects At Activity.java:[line 197]
|
This method declares that it throws an exception that is the child of another exception that is
also declared to be thrown. Given that the parent exception is declared, there is no need for the child
exception to also be declared; it just adds confusion.
This method declares that it throws a checked exception that it does not throw. As this method is
either a constructor, static method or private method, there is no reason for this method to declare
the exception in its throws clause, and just causes calling methods to unnecessarily handle an exception
that will never be thrown. The exception in question should be removed from the throws clause.
A boxed primitive is created from a String, just to extract the unboxed primitive value.
It is more efficient to just call the static parseXXX method.
This method has a high cyclomatic complexity figure, which represents the number of branch
points. It is likely difficult to test, and is brittle to change. Consider refactoring this
method into several to reduce the risk.
This method makes extensive use of methods from another class over methods of its own
class. Typically this means that the functionality that is accomplished by this method
most likely belongs with the class that is being used so liberally. Consider refactoring this
method to be contained in that class, and to accept all the parameters needed in the method signature.
This method accesses an array or list using a constant integer index. Often,
this is a typo where a loop variable is intended to be used. If however, specific
list indices mean different specific things, then perhaps replacing the list with
a first-class object with meaningful accessors would make the code less brittle.
This instruction assigns a value to a local variable,
but the value is not read or used in any subsequent instruction.
Often, this indicates an error, because the value computed is never
used.
Note that Sun's javac compiler often generates dead stores for
final local variables. Because FindBugs is a bytecode-based tool,
there is no easy way to eliminate these false positives.
Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.
This method declares a RuntimeException derived class in its throws clause.
This may indicate a misunderstanding as to how unchecked exceptions are handled.
If it is felt that a RuntimeException is so prevalent that it should be declared, it
is probably a better idea to prevent the occurrence in code.
Returning a reference to a mutable object value stored in one of the object's fields
exposes the internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Returning a new copy of the object is better approach in many situations.
This code stores a reference to an externally mutable object into the
internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Storing a copy of the object is better approach in many situations.
This class defines a compareTo(...)
method but inherits its
equals()
method from java.lang.Object
.
Generally, the value of compareTo should return zero if and only if
equals returns true. If this is violated, weird and unpredictable
failures will occur in classes such as PriorityQueue.
In Java 5 the PriorityQueue.remove method uses the compareTo method,
while in Java 6 it uses the equals method.
From the JavaDoc for the compareTo method in the Comparable interface:
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y))
.
Generally speaking, any class that implements the Comparable interface and violates this condition
should clearly indicate this fact. The recommended language
is "Note: this class has a natural ordering that is inconsistent with equals."
This class has an equals method that will be broken if it is inherited by subclasses.
It compares a class literal with the class of the argument (e.g., in class Foo
it might check if Foo.class == o.getClass()
).
It is better to check if this.getClass() == o.getClass()
.
This class defines fields that are used in a local only fashion,
specifically private fields or protected fields in final classes that are accessed
first in each method with a store vs. a load. This field could be replaced by one
or more local variables.
This class has a circular dependency with other classes. This makes building these classes
difficult, as each is dependent on the other to build correctly. Consider using interfaces
to break the hard dependency. The dependency chain can be seen in the GUI version of FindBugs.
This method creates and uses a java.io.FileInputStream or java.io.FileOutputStream object. Unfortunately both
of these classes implement a finalize method, which means that objects created will likely hang around until a
full garbage collection occurs, which will leave excessive garbage on the heap for longer, and potentially much
longer than expected. Java 7 introduced two ways to create streams for reading and writing files that do not have this concern.
You should consider switching from these above classes to
InputStream is = java.nio.file.Files.newInputStream(myfile.toPath());
OutputStream os = java.nio.file.Files.newOutputStream(myfile.toPath());
This method concatenates the output of a toString()
call into a StringBuffer
or StringBuilder
.
It is simpler just to pass the object you want to append to the append call, as that form
does not suffer the potential for NullPointerException
s, and is easier to read.
Keep in mind that Java compiles simple String
concatenation to use StringBuilder
s,
so you may see this bug even when you don't use StringBuilder
s explicitly.
Instead of:
StringBuilder builder = ...;
builder.append(someObj.toString());
...
System.out.println("Problem with the object :" + someObj.toString());
just do:
StringBuilder builder = ...
builder.append(someObj);
...
System.out.println("Problem with the object :" + someObj);
to avoid the possibility of NullPointerException
s when someObj is null
.
This method performs synchronization an object that is an instance of
a class from the java.util.concurrent package (or its subclasses). Instances
of these classes have their own concurrency control mechanisms that are orthogonal to
the synchronization provided by the Java keyword synchronized
. For example,
synchronizing on an AtomicBoolean
will not prevent other threads
from modifying the AtomicBoolean
.
Such code may be correct, but should be carefully reviewed and documented,
and may confuse people who have to maintain the code at a later date.
This method catches an exception, and throws a different exception, without incorporating the
original exception. Doing so hides the original source of the exception, making debugging and fixing
these problems difficult. It is better to use the constructor of this new exception that takes an
original exception so that this detail can be passed along to the user. If this exception has no constructor
that takes an initial cause parameter, use the initCause method to initialize it instead.
catch (IOException e) {
throw new MySpecialException("Failed to open configuration", e);
}
This method contains an unsynchronized lazy initialization of a static field.
After the field is set, the object stored into that location is further updated or accessed.
The setting of the field is visible to other threads as soon as it is set. If the
futher accesses in the method that set the field serve to initialize the object, then
you have a very serious multithreading bug, unless something else prevents
any other thread from accessing the stored object until it is fully initialized.
Even if you feel confident that the method is never called by multiple
threads, it might be better to not set the static field until the value
you are setting it to is fully populated/initialized.
This line is in the form of
String str = ...
str.equals("someOtherString");
//or
str.compareTo("someOtherString");
A NullPointerException
may occur if the String variable str
is null
. If instead the code was restructured to
String str = ...
"someOtherString".equals(str);
//or
"someOtherString".compareTo(str);
that is, call equals()
or compareTo()
on the string literal, passing the
variable as an argument, then this exception could never happen as both equals()
and
compareTo()
check for null
.
This method creates a synchronized collection and stores the reference to it
in a local variable. As local variables are by definition thread-safe, it seems
questionable that this collection needs to be synchronized.
If you are using | consider using |
java.util.Vector | java.util.ArrayList |
java.util.Hashtable | java.util.HashMap |
java.lang.StringBuffer | java.lang.StringBuilder |
The behavior of the String(byte[] bytes)
and String.getBytes()
is undefined if the string cannot be encoded in the platform's default charset. Instead, use the String(byte[] bytes, String encoding)
or String.getBytes(String encoding)
constructor which accepts the string's encoding as an argument. Be sure to specify the encoding used for the user's locale.
As per the Java specifications, "UTF-8", "US-ASCII", "UTF-16" and "ISO-8859-1" will all be valid encoding charsets. If you aren't sure, try "UTF-8".
New in Java 1.7, you can specify an encoding from StandardCharsets
, like StandardCharsets.UTF_8
. These are generally preferrable because you don't have to deal with UnsupportedEncodingException
.
This class 'overloads' the same method with both instance and static versions. As the use
of these two models is different, it will be confusing to the users of these methods.
A public static method returns a reference to
an array that is part of the static state of the class.
Any code that calls this method can freely modify
the underlying array.
One fix is to return a copy of the array.
This method passes a String to a wrapped primitive object's valueOf method, which in turn calls
the boxedValue() method to convert to a primitive. When it is desired to convert from a String
to a primitive value, it is simpler to use the BoxedPrimitive.parseBoxedPrimitive(String)
method.
Instead of something like:
public int someMethod(String data) {
long l = Long.valueOf(data).longValue();
float f = Float.valueOf(data).floatValue();
return Integer.valueOf(data); // There is an implicit .intValue() call
}
Simply do:
public int someMethod(String data) {
long l = Long.parseLong(data);
float f = Float.parseFloat(data);
return Integer.parseInt(data);
}
This method assigns a Boxed boolean constant to a primitive boolean variable, or assigns a primitive boolean
constant to a Boxed boolean variable. Use the correct constant for the variable desired. Use
boolean b = true;
boolean b = false;
or
Boolean b = Boolean.TRUE;
Boolean b = Boolean.FALSE;
Be aware that this boxing happens automatically when you might not expect it. For example,
Map statusMap = ...
public Boolean someMethod() {
statusMap.put("foo", true); //the "true" here is boxed
return false; //the "false" here is boxed
}
has two cases of this needless autoboxing. This can be made more efficient by simply substituting
in the constant values:
Map statusMap = ...
public Boolean someMethod() {
statusMap.put("foo", Boolean.TRUE);
return Boolean.FALSE;
}
This method uses a synchronize block where the object that is being synchronized on,
is not owned by this current instance. This means that other instances may use this same
object for synchronization for their own purposes, causing synchronization confusion. It is
always cleaner and safer to only synchronize on private fields of this class. Note that 'this'
is not owned by the current instance, but is owned by whomever assigns it to a field of its
class. Synchronizing on 'this' is also not a good idea.
The return value from a method is dereferenced without a null check,
and the return value of that method is one that should generally be checked
for null. This may lead to a NullPointerException
when the code is executed.
A reference value which is null on some exception control path is
dereferenced here. This may lead to a NullPointerException
when the code is executed.
Note that because FindBugs currently does not prune infeasible exception paths,
this may be a false warning.
Also note that FindBugs considers the default case of a switch statement to
be an exception path, since the default case is often infeasible.
The method creates an IO stream object, does not assign it to any
fields, pass it to other methods that might close it,
or return it, and does not appear to close
the stream on all paths out of the method. This may result in
a file descriptor leak. It is generally a good
idea to use a finally
block to ensure that streams are
closed.
This constructor makes a call to a non-final method. Since this method can be overridden, a subclass'
implementation will be executing against an object that has not been initialized at the subclass level.
You should mark all methods called from the constructor as final to avoid this problem.
This method defines parameters at a more abstract level than is actually needed to function correctly,
as the code casts these parameters to more concrete types. Since this method is not derivable, you should
just define the parameters with the type that is needed.
This method makes two consecutive calls to the same method, using the same constant
parameters, on the same instance, without any intervening changes to the objects. If this
method does not make changes to the object, which it appears it doesn't, then making
two calls is just a waste. These method calls could be combined by assigning the
result into a temporary variable, and using the variable the second time.
This method contains a redundant check of a known non-null value against
the constant null.
This method uses a try-catch block that catches Exception objects, but Exception is not
thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to
say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception
each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well,
masking potential bugs.
A better approach is to either explicitly catch the specific exceptions that are thrown,
or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:
try {
...
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
... deal with all non-runtime exceptions ...
}
This code generates a hashcode and then computes
the absolute value of that hashcode. If the hashcode
is Integer.MIN_VALUE
, then the result will be negative as well (since
Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE
).
One out of 2^32 strings have a hashCode of Integer.MIN_VALUE,
including "polygenelubricants" "GydZG_" and ""DESIGNING WORKHOUSES".
This method returns a value that is not checked. The return value should be checked
since it can indicate an unusual or unexpected function execution. For
example, the File.delete()
method returns false
if the file could not be successfully deleted (rather than
throwing an Exception).
If you don't check the result, you won't notice if the method invocation
signals unexpected behavior by returning an atypical return value.
The method seems to be building a String using concatenation in a loop.
In each iteration, the String is converted to a StringBuffer/StringBuilder,
appended to, and converted back to a String.
This can lead to a cost quadratic in the number of iterations,
as the growing string is recopied in each iteration.
Better performance can be obtained by using
a StringBuffer (or StringBuilder in Java 1.5) explicitly.
For example:
// This is bad
String s = "";
for (int i = 0; i < field.length; ++i) {
s = s + field[i];
}
// This is better
StringBuffer buf = new StringBuffer();
for (int i = 0; i < field.length; ++i) {
buf.append(field[i]);
}
String s = buf.toString();
This Serializable class defines a non-primitive instance field which is neither transient,
Serializable, or java.lang.Object
, and does not appear to implement
the Externalizable
interface or the
readObject()
and writeObject()
methods.
Objects of this class will not be deserialized correctly if a non-Serializable
object is stored in this field.
Concatenating unvalidated user input into a URL can allow an attacker to override the value of a request parameter. Attacker may be able to override existing parameter values, inject a new parameter or exploit variables out of a direct reach. HTTP Parameter Pollution (HPP) attacks consist of injecting encoded query string delimiters into other existing parameters. If a web application does not properly sanitize the user input, a malicious user may compromise the logic of the application to perform either client-side or server-side attacks.
In the following example the programmer has not considered the possibility that an attacker could provide a lang such as en&user_id=1, which would enable him to change the user_id at will.
Vulnerable Code:
String lang = request.getParameter("lang");
GetMethod get = new GetMethod("http://www.host.com");
get.setQueryString("lang=" + lang + "&user_id=" + user_id);
get.execute();
Solution:
Sanitize user input before using it in HTTP parameters.
References
CAPEC-460: HTTP Parameter Pollution (HPP)
A file is opened to read its content. The filename comes from an input parameter.
If an unfiltered parameter is passed to this file API, files from an arbitrary filesystem location could be read.
This rule identifies potential path traversal vulnerabilities. In many cases, the constructed file path cannot be controlled
by the user. If that is the case, the reported instance is a false positive.
Vulnerable Code:
@GET
@Path("/images/{image}")
@Produces("images/*")
public Response getImage(@javax.ws.rs.PathParam("image") String image) {
File file = new File("resources/images/", image); //Weak point
if (!file.exists()) {
return Response.status(Status.NOT_FOUND).build();
}
return Response.ok().entity(new FileInputStream(file)).build();
}
Solution:
import org.apache.commons.io.FilenameUtils;
@GET
@Path("/images/{image}")
@Produces("images/*")
public Response getImage(@javax.ws.rs.PathParam("image") String image) {
File file = new File("resources/images/", FilenameUtils.getName(image)); //Fix
if (!file.exists()) {
return Response.status(Status.NOT_FOUND).build();
}
return Response.ok().entity(new FileInputStream(file)).build();
}
References
WASC: Path Traversal
OWASP: Path Traversal
CAPEC-126: Path Traversal
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
This method contains a switch statement where default case is missing.
Usually you need to provide a default case.
Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if
the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other
cases.
This method calls the equals(Object) method on an enum instance. Since enums values are singletons,
you can use == to safely compare two enum values. In fact, the implementation for Enum.equals does just
that.
This method checks a reference for null just before seeing if the reference is an instanceof some class.
Since instanceof will return false for null references, the null check is not needed.
This method calls the size() method on a collection and compares the result to zero to see if the collection
is empty. For better code clarity, it is better to just use col.isEmpty() or !col.isEmpty().
This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.
This method calls a parsing method (indexOf, lastIndexOf, startsWith, endsWith, substring, indexOf) on a String
that is a field, or comes from a collection that is a field. This implies that the String in question is holding
multiple parts of information inside the string, which would be more maintainable and type safe if that value was a
true collection or a first class object with fields, rather than a String.
This method calls the toString() method on an object and stores the value in a field. Doing this
throws away the type safety of having the object defined by a Class. Using String makes it very easy to
use the wrong type of value, and the compiler will not catch these mistakes. You should delay converting
values to Strings for as long as possible, and thus not store them as fields.
This method returns an array that was allocated but apparently not initialized. It is
possible that the caller of this method will do the work of initializing this array, but
that is not a common pattern, and it is assumed that this array has just been forgotten to
be initialized.
This method passes a constant literal String
of length 1 as a parameter to a method, when
a similar method is exposed that takes a char
. It is simpler and more expedient to handle one
character, rather than a String
.
Instead of making calls like:
String myString = ...
if (myString.indexOf("e") != -1) {
int i = myString.lastIndexOf("e");
System.out.println(myString + ":" + i); //the Java compiler will use a StringBuilder internally here [builder.append(":")]
...
return myString.replace("m","z");
}
Replace the single letter String
s with their char
equivalents like so:
String myString = ...
if (myString.indexOf('e') != -1) {
int i = myString.lastIndexOf('e');
System.out.println(myString + ':' + i); //the Java compiler will use a StringBuilder internally here [builder.append(':')]
...
return myString.replace('m','z');
}
This method defines parameters that are never used. As this method is either static or private,
and can't be derived from, it is safe to remove these parameters and simplify your method.
You should consider, while unlikely, that this method may be used reflectively, and thus you will
want to change that call as well. In this case, it is likely that once you remove the parameter,
there will be a chain of method calls that have spent time creating this parameter and passing it
down the line. All of this may be able to be removed.
This field is never read.
The field is public or protected, so perhaps
it is intended to be used with classes not seen as part of the analysis. If not,
consider removing it from the class.
This method stores the return result in a local variable, and then immediately
returns the local variable. It would be simpler just to return the value that is
assigned to the local variable, directly.
Instead of the following:
public float average(int[] arr) {
float sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
float ave = sum / arr.length;
return ave;
}
Simply change the method to return the result of the division:
public float average(int[] arr) {
float sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum / arr.length; //Change
}
[
This method allocates and uses an auto closeable resource. However, it manually closes the resource in a finally block.
While this is correct management, it doesn't rely on the idiomatic way available to JDK 7 and above, allows for possible
subtle problems, and complicates the reading of code by developers expecting the use of try-with-resources.
Switch to using try with resources, as:
try (InputStream is = getAStream()) {
useTheStream(is);
}
No writes were seen to this public/protected field. All reads of it will return the default
value. Check for errors (should it have been initialized?), or remove it if it is useless.
This method accesses the value of a Map entry, using a key that was retrieved from
a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the
Map.get(key) lookup.