SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 3.1.0
Threshold is medium
Effort is default
Summary
Classes |
Bugs |
Errors |
Missing Classes |
1503 |
144 |
0 |
0 |
org.eclipse.jgit.api.ApplyCommand
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.api.ApplyCommand.apply(File, FileHeader): new java.io.FileWriter(File) |
I18N |
DM_DEFAULT_ENCODING |
261 |
High |
org.eclipse.jgit.api.ApplyCommand.apply(File, FileHeader) may fail to clean up java.io.Writer on checked exception |
EXPERIMENTAL |
OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE |
261 |
Medium |
Switch statement found in org.eclipse.jgit.api.ApplyCommand.apply(File, FileHeader) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
217-241 |
Medium |
org.eclipse.jgit.api.CommitCommand
Bug |
Category |
Details |
Line |
Priority |
Return value of org.eclipse.jgit.revwalk.RevCommit.getTree() ignored, but method has no side effect |
STYLE |
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT |
239 |
Medium |
org.eclipse.jgit.api.GarbageCollectCommand
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.api.GarbageCollectCommand.setExpire(Date) may expose internal representation by storing an externally mutable object into GarbageCollectCommand.expire |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
133 |
Medium |
org.eclipse.jgit.api.MergeResult
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.api.MergeResult.getMergedCommits() may expose internal representation by returning MergeResult.mergedCommits |
MALICIOUS_CODE |
EI_EXPOSE_REP |
386 |
Medium |
new org.eclipse.jgit.api.MergeResult(ObjectId, ObjectId, ObjectId[], MergeResult$MergeStatus, MergeStrategy, Map, Map, String) may expose internal representation by storing an externally mutable object into MergeResult.mergedCommits |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
338 |
Medium |
org.eclipse.jgit.api.RebaseCommand
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.createNewFile() ignored in org.eclipse.jgit.api.RebaseCommand.calculatePickList(RevCommit) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
1195 |
Medium |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.api.RebaseCommand.processStep(RebaseTodoLine, boolean) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
490 |
Medium |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.api.RebaseCommand.squashIntoPrevious(boolean, RebaseTodoLine) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
793 |
Medium |
Switch statement found in org.eclipse.jgit.api.RebaseCommand.processStep(RebaseTodoLine, boolean) where one case falls through to the next case |
STYLE |
SF_SWITCH_FALLTHROUGH |
480-483 |
Medium |
org.eclipse.jgit.api.RevertCommand
Bug |
Category |
Details |
Line |
Priority |
Load of known null value in org.eclipse.jgit.api.RevertCommand.call() |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
206 |
Medium |
org.eclipse.jgit.api.SubmoduleStatusCommand
Bug |
Category |
Details |
Line |
Priority |
Load of known null value in org.eclipse.jgit.api.SubmoduleStatusCommand.getStatus(SubmoduleWalk) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
147 |
Medium |
org.eclipse.jgit.api.errors.FilterFailedException
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.api.errors.FilterFailedException.getOutput() may expose internal representation by returning FilterFailedException.stdout |
MALICIOUS_CODE |
EI_EXPOSE_REP |
133 |
Medium |
new org.eclipse.jgit.api.errors.FilterFailedException(int, String, String, byte[], String) may expose internal representation by storing an externally mutable object into FilterFailedException.stdout |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
104 |
Medium |
org.eclipse.jgit.attributes.AttributesHandler
Bug |
Category |
Details |
Line |
Priority |
Redundant nullcheck of t, which is known to be non-null in org.eclipse.jgit.attributes.AttributesHandler.rootOf(AbstractTreeIterator) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
436 |
Medium |
org.eclipse.jgit.diff.RawText
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.diff.RawText(byte[]) may expose internal representation by storing an externally mutable object into RawText.content |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
95 |
Medium |
org.eclipse.jgit.dircache.DirCacheCheckout
Bug |
Category |
Details |
Line |
Priority |
Load of known null value in org.eclipse.jgit.dircache.DirCacheCheckout.processEntry(CanonicalTreeParser, CanonicalTreeParser, DirCacheBuildIterator, WorkingTreeIterator) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
960 |
Medium |
Load of known null value in org.eclipse.jgit.dircache.DirCacheCheckout.processEntry(CanonicalTreeParser, CanonicalTreeParser, DirCacheBuildIterator, WorkingTreeIterator) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
1028 |
Medium |
org.eclipse.jgit.dircache.DirCacheEntry
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.dircache.DirCacheEntry(byte[], int) may expose internal representation by storing an externally mutable object into DirCacheEntry.path |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
288 |
Medium |
org.eclipse.jgit.dircache.DirCacheIterator
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.dircache.DirCacheIterator.<static initializer for DirCacheIterator>(): String.getBytes() |
I18N |
DM_DEFAULT_ENCODING |
78 |
High |
org.eclipse.jgit.dircache.DirCacheIterator.idBuffer() may expose internal representation by returning DirCacheIterator.zeroid |
MALICIOUS_CODE |
EI_EXPOSE_REP |
169 |
Medium |
org.eclipse.jgit.errors.CheckoutConflictException
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.errors.CheckoutConflictException.getConflictingFiles() may expose internal representation by returning CheckoutConflictException.conflicting |
MALICIOUS_CODE |
EI_EXPOSE_REP |
91 |
Medium |
new org.eclipse.jgit.errors.CheckoutConflictException(String[]) may expose internal representation by storing an externally mutable object into CheckoutConflictException.conflicting |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
80 |
Medium |
org.eclipse.jgit.gitrepo.ManifestParser
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.gitrepo.ManifestParser.startElement(String, String, String, Attributes) may fail to clean up java.io.InputStream |
EXPERIMENTAL |
OBL_UNSATISFIED_OBLIGATION |
248 |
Medium |
org.eclipse.jgit.internal.ketch.KetchLeader
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.eclipse.jgit.internal.ketch.KetchLeader.onReplicaUpdate(KetchReplica) where one case falls through to the next case |
STYLE |
SF_SWITCH_FALLTHROUGH |
523-528 |
Medium |
org.eclipse.jgit.internal.ketch.KetchLeader.notifySuccess(Round) does not release lock on all paths |
MT_CORRECTNESS |
UL_UNRELEASED_LOCK |
554 |
High |
org.eclipse.jgit.internal.ketch.KetchLeader.notifySuccess(Round) does not release lock on all exception paths |
MT_CORRECTNESS |
UL_UNRELEASED_LOCK_EXCEPTION_PATH |
554 |
Medium |
org.eclipse.jgit.internal.ketch.LeaderSnapshot
Bug |
Category |
Details |
Line |
Priority |
Format string should use %n rather than \n in org.eclipse.jgit.internal.ketch.LeaderSnapshot.toString() |
BAD_PRACTICE |
VA_FORMAT_STRING_USES_NEWLINE |
144 |
Medium |
org.eclipse.jgit.internal.ketch.Proposal
Bug |
Category |
Details |
Line |
Priority |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.ketch.Proposal.addListener(Runnable) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
288 |
Medium |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.ketch.Proposal.await() |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
344 |
Medium |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.ketch.Proposal.await(long, TimeUnit) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
363 |
Medium |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.ketch.Proposal.awaitStateChange(Proposal$State, long, TimeUnit) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
387 |
Medium |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.ketch.Proposal.notifyState(Proposal$State) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
397 |
Medium |
org.eclipse.jgit.internal.storage.dfs.BlockBasedFile
Bug |
Category |
Details |
Line |
Priority |
Dead store to len in org.eclipse.jgit.internal.storage.dfs.BlockBasedFile.readOneBlock(long, DfsReader, ReadableChannel) |
STYLE |
DLS_DEAD_LOCAL_STORE |
187 |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsCachedPack
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.StoredObjectRepresentation to org.eclipse.jgit.internal.storage.dfs.DfsObjectRepresentation in org.eclipse.jgit.internal.storage.dfs.DfsCachedPack.hasObject(ObjectToPack, StoredObjectRepresentation) |
STYLE |
BC_UNCONFIRMED_CAST |
87 |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase
Bug |
Category |
Details |
Line |
Priority |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.scanPacks(DfsObjDatabase$PackList) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
502 |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsObjectToPack
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.StoredObjectRepresentation to org.eclipse.jgit.internal.storage.dfs.DfsObjectRepresentation in org.eclipse.jgit.internal.storage.dfs.DfsObjectToPack.select(StoredObjectRepresentation) |
STYLE |
BC_UNCONFIRMED_CAST |
85 |
Medium |
Class org.eclipse.jgit.internal.storage.dfs.DfsObjectToPack defines non-transient non-serializable instance field pack |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsReader
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.ObjectToPack to org.eclipse.jgit.internal.storage.dfs.DfsObjectToPack in org.eclipse.jgit.internal.storage.dfs.DfsReader.copyObjectAsIs(PackOutputStream, ObjectToPack, boolean) |
STYLE |
BC_UNCONFIRMED_CAST |
651 |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsStreamKey$ByteArrayDfsStreamKey
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.dfs.DfsStreamKey$ByteArrayDfsStreamKey defines equals but not hashCode |
BAD_PRACTICE |
HE_EQUALS_NO_HASHCODE |
123-128 |
Medium |
org.eclipse.jgit.internal.storage.dfs.DfsStreamKey$ForReverseIndex
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.dfs.DfsStreamKey$ForReverseIndex defines equals but not hashCode |
BAD_PRACTICE |
HE_EQUALS_NO_HASHCODE |
142 |
Medium |
org.eclipse.jgit.internal.storage.dfs.InMemoryRepository$MemPack
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.dfs.InMemoryRepository$MemPack doesn't override DfsPackDescription.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
org.eclipse.jgit.internal.storage.file.GC
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.file.GC.setExpire(Date) may expose internal representation by storing an externally mutable object into GC.expire |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
1426 |
Medium |
org.eclipse.jgit.internal.storage.file.GC.setPackExpire(Date) may expose internal representation by storing an externally mutable object into GC.packExpire |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
1440 |
Medium |
org.eclipse.jgit.internal.storage.file.GC.deleteTempPacksIdx() may fail to close stream |
BAD_PRACTICE |
OS_OPEN_STREAM |
971 |
Medium |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.internal.storage.file.GC.prune(Set) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
683 |
Medium |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.internal.storage.file.GC.writePack(Set, Set, Set, Set, List) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
1234 |
Medium |
Exceptional return value of java.io.File.setReadOnly() ignored in org.eclipse.jgit.internal.storage.file.GC.writePack(Set, Set, Set, Set, List) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
1203 |
Medium |
org.eclipse.jgit.internal.storage.file.GcLog
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.internal.storage.file.GcLog.commit() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
172 |
Medium |
org.eclipse.jgit.internal.storage.file.LocalCachedPack
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.StoredObjectRepresentation to org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation in org.eclipse.jgit.internal.storage.file.LocalCachedPack.hasObject(ObjectToPack, StoredObjectRepresentation) |
STYLE |
BC_UNCONFIRMED_CAST |
93 |
Medium |
org.eclipse.jgit.internal.storage.file.LocalObjectToPack
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.StoredObjectRepresentation to org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation in org.eclipse.jgit.internal.storage.file.LocalObjectToPack.select(StoredObjectRepresentation) |
STYLE |
BC_UNCONFIRMED_CAST |
75 |
Medium |
Class org.eclipse.jgit.internal.storage.file.LocalObjectToPack defines non-transient non-serializable instance field pack |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.eclipse.jgit.internal.storage.file.LockFile
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.setLastModified(long) ignored in org.eclipse.jgit.internal.storage.file.LockFile.waitForStatChange() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
437 |
Medium |
org.eclipse.jgit.internal.storage.file.ObjectDirectory
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.internal.storage.file.ObjectDirectory.open(File): new java.io.FileReader(File) |
I18N |
DM_DEFAULT_ENCODING |
1044 |
High |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.storage.file.ObjectDirectory.myAlternates() |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
1005 |
Medium |
Synchronization performed on java.util.concurrent.atomic.AtomicReference in org.eclipse.jgit.internal.storage.file.ObjectDirectory.scanPacks(ObjectDirectory$PackList) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
870 |
Medium |
Exceptional return value of java.io.File.setReadOnly() ignored in org.eclipse.jgit.internal.storage.file.ObjectDirectory.insertUnpackedObject(File, ObjectId, boolean) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
725 |
Medium |
org.eclipse.jgit.internal.storage.file.ObjectDirectoryPackParser
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.setReadOnly() ignored in org.eclipse.jgit.internal.storage.file.ObjectDirectoryPackParser.parse(ProgressMonitor, ProgressMonitor) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
206 |
Medium |
org.eclipse.jgit.internal.storage.file.PackBitmapIndexRemapper$Entry
Bug |
Category |
Details |
Line |
Priority |
Should org.eclipse.jgit.internal.storage.file.PackBitmapIndexRemapper$Entry be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
212-219 |
Medium |
org.eclipse.jgit.internal.storage.file.PackFile
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.file.PackFile.mmap(long, int) forces garbage collection; extremely dubious except in benchmarking code |
PERFORMANCE |
DM_GC |
719 |
High |
org.eclipse.jgit.internal.storage.file.PackIndexWriter
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.file.PackIndexWriter.write(List, byte[]) may expose internal representation by storing an externally mutable object into PackIndexWriter.packChecksum |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
211 |
Medium |
org.eclipse.jgit.internal.storage.file.PackIndexWriter.TOC should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
69 |
Medium |
org.eclipse.jgit.internal.storage.file.PackInserter
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.setReadOnly() ignored in org.eclipse.jgit.internal.storage.file.PackInserter.flush() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
278 |
Medium |
org.eclipse.jgit.internal.storage.file.WindowCursor
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.eclipse.jgit.internal.storage.pack.ObjectToPack to org.eclipse.jgit.internal.storage.file.LocalObjectToPack in org.eclipse.jgit.internal.storage.file.WindowCursor.copyObjectAsIs(PackOutputStream, ObjectToPack, boolean) |
STYLE |
BC_UNCONFIRMED_CAST |
220 |
Medium |
org.eclipse.jgit.internal.storage.pack.DeltaIndex
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.internal.storage.pack.DeltaIndex(byte[]) may expose internal representation by storing an externally mutable object into DeltaIndex.src |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
134 |
Medium |
org.eclipse.jgit.internal.storage.pack.DeltaTask$WeightedPath
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.pack.DeltaTask$WeightedPath defines compareTo(DeltaTask$WeightedPath) and uses Object.equals() |
BAD_PRACTICE |
EQ_COMPARETO_USE_OBJECT_EQUALS |
250-254 |
Medium |
org.eclipse.jgit.internal.storage.pack.ObjectToPack
Bug |
Category |
Details |
Line |
Priority |
Class org.eclipse.jgit.internal.storage.pack.ObjectToPack defines non-transient non-serializable instance field cachedDelta |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.eclipse.jgit.internal.storage.pack.PackExt
Bug |
Category |
Details |
Line |
Priority |
Public static org.eclipse.jgit.internal.storage.pack.PackExt.values() may expose internal representation by returning PackExt.VALUES |
MALICIOUS_CODE |
MS_EXPOSE_REP |
73 |
Medium |
org.eclipse.jgit.internal.storage.pack.PackOutputStream
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.pack.PackOutputStream.getCopyBuffer() may expose internal representation by returning PackOutputStream.copyBuffer |
MALICIOUS_CODE |
EI_EXPOSE_REP |
240 |
Medium |
Potentially dangerous use of non-short-circuit logic in org.eclipse.jgit.internal.storage.pack.PackOutputStream.writeHeader(ObjectToPack, long) |
STYLE |
NS_DANGEROUS_NON_SHORT_CIRCUIT |
193 |
High |
org.eclipse.jgit.internal.storage.pack.PackWriterBitmapPreparer
Bug |
Category |
Details |
Line |
Priority |
Result of integer multiplication cast to long in new org.eclipse.jgit.internal.storage.pack.PackWriterBitmapPreparer(ObjectReader, PackBitmapIndexBuilder, ProgressMonitor, Set, PackConfig) |
STYLE |
ICAST_INTEGER_MULTIPLY_CAST_TO_LONG |
135 |
Medium |
org.eclipse.jgit.internal.storage.pack.PackWriterBitmapPreparer$CommitSelectionHelper$1
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.internal.storage.pack.PackWriterBitmapPreparer$CommitSelectionHelper$1.next() can't throw NoSuchElementException |
BAD_PRACTICE |
IT_NO_SUCH_ELEMENT |
606 |
Medium |
org.eclipse.jgit.internal.storage.reftable.ReftableWriter$RefList
Bug |
Category |
Details |
Line |
Priority |
Class org.eclipse.jgit.internal.storage.reftable.ReftableWriter$RefList defines non-transient non-serializable instance field blockPos |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.eclipse.jgit.lib.CommitBuilder
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.lib.CommitBuilder.getParentIds() may expose internal representation by returning CommitBuilder.parentIds |
MALICIOUS_CODE |
EI_EXPOSE_REP |
162 |
Medium |
org.eclipse.jgit.lib.ConfigSnapshot$LineComparator
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.lib.ConfigSnapshot$LineComparator implements Comparator but not Serializable |
BAD_PRACTICE |
SE_COMPARATOR_SHOULD_BE_SERIALIZABLE |
219-222 |
Medium |
org.eclipse.jgit.lib.Constants
Bug |
Category |
Details |
Line |
Priority |
Public static org.eclipse.jgit.lib.Constants.encodedTypeString(int) may expose internal representation by returning Constants.ENCODED_TYPE_BLOB |
MALICIOUS_CODE |
MS_EXPOSE_REP |
503 |
Medium |
Public static org.eclipse.jgit.lib.Constants.encodedTypeString(int) may expose internal representation by returning Constants.ENCODED_TYPE_COMMIT |
MALICIOUS_CODE |
MS_EXPOSE_REP |
499 |
Medium |
Public static org.eclipse.jgit.lib.Constants.encodedTypeString(int) may expose internal representation by returning Constants.ENCODED_TYPE_TAG |
MALICIOUS_CODE |
MS_EXPOSE_REP |
505 |
Medium |
Public static org.eclipse.jgit.lib.Constants.encodedTypeString(int) may expose internal representation by returning Constants.ENCODED_TYPE_TREE |
MALICIOUS_CODE |
MS_EXPOSE_REP |
501 |
Medium |
org.eclipse.jgit.lib.Constants.PACK_SIGNATURE is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
226 |
Medium |
org.eclipse.jgit.lib.DefaultTypedConfigGetter
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.eclipse.jgit.lib.DefaultTypedConfigGetter.getLong(Config, String, String, String, long) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
169-177 |
Medium |
org.eclipse.jgit.lib.ObjectChecker
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.lib.ObjectChecker.author is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
119 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.committer is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
122 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.encoding is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
125 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.tagger is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
137 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.object should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
128 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.parent should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
116 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.tag should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
134 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.tree should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
113 |
Medium |
org.eclipse.jgit.lib.ObjectChecker.type should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
131 |
Medium |
Switch statement found in org.eclipse.jgit.lib.ObjectChecker.checkNotWindowsDevice(byte[], int, int, AnyObjectId) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
954-1011 |
Medium |
org.eclipse.jgit.lib.ObjectLoader$SmallObject
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.lib.ObjectLoader$SmallObject.getCachedBytes() may expose internal representation by returning ObjectLoader$SmallObject.data |
MALICIOUS_CODE |
EI_EXPOSE_REP |
328 |
Medium |
new org.eclipse.jgit.lib.ObjectLoader$SmallObject(int, byte[]) may expose internal representation by storing an externally mutable object into ObjectLoader$SmallObject.data |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
308 |
Medium |
org.eclipse.jgit.lib.ObjectStream$SmallStream
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.lib.ObjectStream$SmallStream(int, byte[]) may expose internal representation by storing an externally mutable object into ObjectStream$SmallStream.data |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
103 |
Medium |
org.eclipse.jgit.lib.RebaseTodoFile
Bug |
Category |
Details |
Line |
Priority |
Redundant nullcheck of action, which is known to be non-null in org.eclipse.jgit.lib.RebaseTodoFile.parseLine(byte[], int, int) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
189 |
Medium |
org.eclipse.jgit.lib.RefDatabase
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.lib.RefDatabase.SEARCH_PATH is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
75 |
High |
org.eclipse.jgit.lib.RepositoryCache
Bug |
Category |
Details |
Line |
Priority |
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.eclipse.jgit.lib.RepositoryCache.openRepository(RepositoryCache$Key, boolean) |
MT_CORRECTNESS |
AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION |
279 |
Medium |
Synchronization performed on java.util.concurrent.ScheduledThreadPoolExecutor in org.eclipse.jgit.lib.RepositoryCache.configureEviction(RepositoryCacheConfig) |
MT_CORRECTNESS |
JLM_JSR166_UTILCONCURRENT_MONITORENTER |
250 |
Medium |
org.eclipse.jgit.merge.ResolveMerger
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.merge.ResolveMerger.getCommitNames() may expose internal representation by returning ResolveMerger.commitNames |
MALICIOUS_CODE |
EI_EXPOSE_REP |
1015 |
Medium |
org.eclipse.jgit.merge.ResolveMerger.setCommitNames(String[]) may expose internal representation by storing an externally mutable object into ResolveMerger.commitNames |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
1005 |
Medium |
Exceptional return value of java.io.File.mkdirs() ignored in org.eclipse.jgit.merge.ResolveMerger.writeMergedFile(MergeResult) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
920 |
Medium |
org.eclipse.jgit.patch.FileHeader
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.patch.FileHeader.getBuffer() may expose internal representation by returning FileHeader.buf |
MALICIOUS_CODE |
EI_EXPOSE_REP |
175 |
Medium |
org.eclipse.jgit.patch.FormatError
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.patch.FormatError.getBuffer() may expose internal representation by returning FormatError.buf |
MALICIOUS_CODE |
EI_EXPOSE_REP |
104 |
Medium |
org.eclipse.jgit.revwalk.ObjectWalk
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.revwalk.ObjectWalk.getPathBuffer() may expose internal representation by returning ObjectWalk.pathBuf |
MALICIOUS_CODE |
EI_EXPOSE_REP |
642 |
Medium |
org.eclipse.jgit.revwalk.RevCommit
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.revwalk.RevCommit.getParents() may expose internal representation by returning RevCommit.parents |
MALICIOUS_CODE |
EI_EXPOSE_REP |
371 |
Medium |
org.eclipse.jgit.revwalk.RevCommit.getRawBuffer() may expose internal representation by returning RevCommit.buffer |
MALICIOUS_CODE |
EI_EXPOSE_REP |
387 |
Medium |
org.eclipse.jgit.transport.AmazonS3
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.transport.AmazonS3.error(String, String, HttpURLConnection): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
551 |
High |
org.eclipse.jgit.transport.CredentialItem$CharArrayType
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.transport.CredentialItem$CharArrayType.getValue() may expose internal representation by returning CredentialItem$CharArrayType.value |
MALICIOUS_CODE |
EI_EXPOSE_REP |
199 |
Medium |
org.eclipse.jgit.transport.CredentialItem$CharArrayType.setValueNoCopy(char[]) may expose internal representation by storing an externally mutable object into CredentialItem$CharArrayType.value |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
225 |
Medium |
org.eclipse.jgit.transport.FetchProcess
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.transport.FetchProcess.updateFETCH_HEAD(FetchResult): new java.io.OutputStreamWriter(OutputStream) |
I18N |
DM_DEFAULT_ENCODING |
321 |
High |
org.eclipse.jgit.transport.HttpTransport
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.transport.HttpTransport.connectionFactory should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
62 |
Medium |
org.eclipse.jgit.transport.JschConfigSessionFactory
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(URIish, CredentialsProvider, FS, int) calls Thread.sleep() with a lock held |
MT_CORRECTNESS |
SWL_SLEEP_WITH_LOCK_HELD |
149 |
Medium |
org.eclipse.jgit.transport.NetRC
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.transport.NetRC.parse(): new java.io.FileReader(File) |
I18N |
DM_DEFAULT_ENCODING |
216 |
High |
org.eclipse.jgit.transport.OpenSshConfig
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.transport.OpenSshConfig.parse(InputStream): new java.io.InputStreamReader(InputStream) |
I18N |
DM_DEFAULT_ENCODING |
245 |
High |
org.eclipse.jgit.transport.PackParser$DeltaChain
Bug |
Category |
Details |
Line |
Priority |
Class org.eclipse.jgit.transport.PackParser$DeltaChain defines non-transient non-serializable instance field head |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.eclipse.jgit.transport.PushCertificateParser
Bug |
Category |
Details |
Line |
Priority |
Redundant nullcheck of org.eclipse.jgit.transport.PushCertificateParser.pusher, which is known to be non-null in org.eclipse.jgit.transport.PushCertificateParser.receiveHeader(PushCertificateParser$StringReader, boolean) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
388 |
Medium |
org.eclipse.jgit.transport.SideBandInputStream
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.eclipse.jgit.transport.SideBandInputStream.doProgressLine(String): String.getBytes() |
I18N |
DM_DEFAULT_ENCODING |
238 |
High |
org.eclipse.jgit.transport.Transport
Bug |
Category |
Details |
Line |
Priority |
Uninitialized read of hookOutRedirect in new org.eclipse.jgit.transport.Transport(Repository, URIish) |
CORRECTNESS |
UR_UNINIT_READ |
842 |
Medium |
org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider(String, char[]) may expose internal representation by storing an externally mutable object into UsernamePasswordCredentialsProvider.password |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
81 |
Medium |
org.eclipse.jgit.transport.WalkFetchConnection
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.transport.WalkFetchConnection.close() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
273 |
Medium |
Switch statement found in org.eclipse.jgit.transport.WalkFetchConnection.markLocalObjComplete(RevObject) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
722-730 |
Medium |
org.eclipse.jgit.treewalk.AbstractTreeIterator
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.treewalk.AbstractTreeIterator.getEntryPathBuffer() may expose internal representation by returning AbstractTreeIterator.path |
MALICIOUS_CODE |
EI_EXPOSE_REP |
490 |
Medium |
org.eclipse.jgit.treewalk.AbstractTreeIterator.zeroid is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
88 |
Medium |
org.eclipse.jgit.treewalk.CanonicalTreeParser
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.treewalk.CanonicalTreeParser.idBuffer() may expose internal representation by returning CanonicalTreeParser.raw |
MALICIOUS_CODE |
EI_EXPOSE_REP |
279 |
Medium |
org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(byte[]) may expose internal representation by storing an externally mutable object into CanonicalTreeParser.raw |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
145 |
Medium |
org.eclipse.jgit.treewalk.EmptyTreeIterator
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.treewalk.EmptyTreeIterator.idBuffer() may expose internal representation by returning EmptyTreeIterator.zeroid |
MALICIOUS_CODE |
EI_EXPOSE_REP |
115 |
Medium |
org.eclipse.jgit.treewalk.WorkingTreeIterator
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.treewalk.WorkingTreeIterator.idBuffer() may expose internal representation by returning WorkingTreeIterator.contentId |
MALICIOUS_CODE |
EI_EXPOSE_REP |
269 |
Medium |
org.eclipse.jgit.treewalk.WorkingTreeIterator.idBuffer() may expose internal representation by returning WorkingTreeIterator.zeroid |
MALICIOUS_CODE |
EI_EXPOSE_REP |
300 |
Medium |
org.eclipse.jgit.util.Base64
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.eclipse.jgit.util.Base64.encode3to4(byte[], int, int, byte[], int) where one case falls through to the next case |
STYLE |
SF_SWITCH_FALLTHROUGH |
108-112 |
Medium |
Switch statement found in org.eclipse.jgit.util.Base64.encode3to4(byte[], int, int, byte[], int) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
106-116 |
Medium |
org.eclipse.jgit.util.FS_POSIX
Bug |
Category |
Details |
Line |
Priority |
Exception is caught when Exception is not thrown in org.eclipse.jgit.util.FS_POSIX.readUmask() |
STYLE |
REC_CATCH_EXCEPTION |
182 |
Medium |
org.eclipse.jgit.util.FS_Win32
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.io.File.delete() ignored in org.eclipse.jgit.util.FS_Win32.detectSymlinkSupport() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
199 |
Medium |
org.eclipse.jgit.util.IO
Bug |
Category |
Details |
Line |
Priority |
org.eclipse.jgit.util.IO.readWholeStream(InputStream, int) may fail to close stream |
BAD_PRACTICE |
OS_OPEN_STREAM |
221 |
Medium |
org.eclipse.jgit.util.QuotedString$BourneStyle
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.eclipse.jgit.util.QuotedString$BourneStyle.quote(String) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
145-153 |
Medium |
org.eclipse.jgit.util.RawCharSequence
Bug |
Category |
Details |
Line |
Priority |
new org.eclipse.jgit.util.RawCharSequence(byte[], int, int) may expose internal representation by storing an externally mutable object into RawCharSequence.buffer |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
72 |
Medium |
org.eclipse.jgit.util.RawParseUtils
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.eclipse.jgit.util.RawParseUtils.parseBase10(byte[], int, MutableInteger) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
220-226 |
Medium |
Switch statement found in org.eclipse.jgit.util.RawParseUtils.parseLongBase10(byte[], int, MutableInteger) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
274-280 |
Medium |
org.eclipse.jgit.util.SystemReader
Bug |
Category |
Details |
Line |
Priority |
Write to static field org.eclipse.jgit.util.SystemReader.isMacOS from instance method org.eclipse.jgit.util.SystemReader.isMacOS() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
364 |
Medium |
Write to static field org.eclipse.jgit.util.SystemReader.isWindows from instance method org.eclipse.jgit.util.SystemReader.isWindows() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
351 |
Medium |
org.eclipse.jgit.util.io.AutoCRLFInputStream
Bug |
Category |
Details |
Line |
Priority |
Useless condition: it's known that b == 10 at this point |
STYLE |
UC_USELESS_CONDITION |
132 |
High |