SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.7.1
Threshold is
Effort is default
Summary
Classes |
Bugs |
Errors |
Missing Classes |
707 |
32 |
0 |
0 |
com.healthmarketscience.jackcess.DataType
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.DataType.addNewSqlType(String, DataType, DataType) might ignore java.lang.Exception |
BAD_PRACTICE |
DE_MIGHT_IGNORE |
549 |
Medium |
com.healthmarketscience.jackcess.impl.ColumnImpl
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.ColumnImpl defines compareTo(ColumnImpl) and uses Object.equals() |
BAD_PRACTICE |
EQ_COMPARETO_USE_OBJECT_EQUALS |
1827-1832 |
Medium |
com.healthmarketscience.jackcess.impl.DatabaseImpl
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.DatabaseImpl.RW_CHANNEL_OPTS is a mutable array |
MALICIOUS_CODE |
MS_MUTABLE_ARRAY |
213 |
High |
com.healthmarketscience.jackcess.impl.DatabaseImpl.RO_CHANNEL_OPTS should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
210 |
Medium |
com.healthmarketscience.jackcess.impl.DatabaseImpl.RWC_CHANNEL_OPTS should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
216 |
Medium |
Possible null pointer dereference in com.healthmarketscience.jackcess.impl.DatabaseImpl.getName(Path) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
2292 |
Medium |
com.healthmarketscience.jackcess.impl.GeneralLegacyIndexCodes
Bug |
Category |
Details |
Line |
Priority |
Dereference of the result of readLine() without nullcheck in com.healthmarketscience.jackcess.impl.GeneralLegacyIndexCodes.loadCodes(String, char, char) |
STYLE |
NP_DEREFERENCE_OF_READLINE_VALUE |
412 |
Medium |
com.healthmarketscience.jackcess.impl.IndexData$NodeEntry
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.IndexData$NodeEntry defines equals but not hashCode |
BAD_PRACTICE |
HE_EQUALS_NO_HASHCODE |
2322 |
Medium |
com.healthmarketscience.jackcess.impl.IndexImpl
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.IndexImpl defines compareTo(IndexImpl) and uses Object.equals() |
BAD_PRACTICE |
EQ_COMPARETO_USE_OBJECT_EQUALS |
383-388 |
Medium |
com.healthmarketscience.jackcess.impl.TableImpl
Bug |
Category |
Details |
Line |
Priority |
Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.findIndexForColumns(Collection, TableImpl$IndexFeature) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
594 |
Medium |
Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.getInputAutoNumberRowValue(boolean, ColumnImpl, Object[]) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
3008 |
Medium |
Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.getInputAutoNumberRowValue(boolean, ColumnImpl, Object[]) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
3008 |
Medium |
Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.updateRow(TableImpl$RowState, RowIdImpl, Object[]) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
2513 |
Medium |
Exception is caught when Exception is not thrown in com.healthmarketscience.jackcess.impl.TableImpl.addRows(List, boolean) |
STYLE |
REC_CATCH_EXCEPTION |
2360 |
Medium |
com.healthmarketscience.jackcess.impl.complex.ComplexValueForeignKeyImpl
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.complex.ComplexValueForeignKeyImpl defines equals but not hashCode |
BAD_PRACTICE |
HE_EQUALS_NO_HASHCODE |
332 |
Medium |
com.healthmarketscience.jackcess.impl.expr.DefaultDateFunctions
Bug |
Category |
Details |
Line |
Priority |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultDateFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions |
STYLE |
IC_INIT_CIRCULARITY |
49-587 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultDateFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultFunctions |
STYLE |
IC_INIT_CIRCULARITY |
49-587 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultDateFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions |
STYLE |
IC_INIT_CIRCULARITY |
49-587 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultDateFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultTextFunctions |
STYLE |
IC_INIT_CIRCULARITY |
49-587 |
Medium |
com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions
Bug |
Category |
Details |
Line |
Priority |
Using floating-point loop counters can lead to unexpected behavior. |
CORRECTNESS |
FL_FLOATS_AS_LOOP_COUNTERS |
346 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-376 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-376 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultTextFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-376 |
Medium |
com.healthmarketscience.jackcess.impl.expr.DefaultFunctions
Bug |
Category |
Details |
Line |
Priority |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions |
STYLE |
IC_INIT_CIRCULARITY |
43-577 |
Medium |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultTextFunctions |
STYLE |
IC_INIT_CIRCULARITY |
43-577 |
Medium |
com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions
Bug |
Category |
Details |
Line |
Priority |
Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultTextFunctions |
STYLE |
IC_INIT_CIRCULARITY |
35-180 |
Medium |
com.healthmarketscience.jackcess.impl.query.QueryFormat
Bug |
Category |
Details |
Line |
Priority |
com.healthmarketscience.jackcess.impl.query.QueryFormat.JOIN_TYPE_MAP is a mutable collection which should be package protected |
MALICIOUS_CODE |
MS_MUTABLE_COLLECTION_PKGPROTECT |
125 |
Medium |
com.healthmarketscience.jackcess.impl.query.QueryFormat.PARAM_TYPE_MAP is a mutable collection which should be package protected |
MALICIOUS_CODE |
MS_MUTABLE_COLLECTION_PKGPROTECT |
107 |
Medium |
com.healthmarketscience.jackcess.impl.query.QueryFormat.TYPE_MAP is a mutable collection which should be package protected |
MALICIOUS_CODE |
MS_MUTABLE_COLLECTION_PKGPROTECT |
133 |
Medium |
com.healthmarketscience.jackcess.impl.query.QueryImpl$Join$1
Bug |
Category |
Details |
Line |
Priority |
Class com.healthmarketscience.jackcess.impl.query.QueryImpl$Join$1 defines non-transient non-serializable instance field this$1 |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
com.healthmarketscience.jackcess.util.CustomLinkResolver
Bug |
Category |
Details |
Line |
Priority |
Possible null pointer dereference in com.healthmarketscience.jackcess.util.CustomLinkResolver.deleteDbFile(Path) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
205 |
Medium |
com.healthmarketscience.jackcess.util.ErrorHandler$1
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from Exception to RuntimeException in com.healthmarketscience.jackcess.util.ErrorHandler$1.handleRowError(Column, byte[], ErrorHandler$Location, Exception) |
STYLE |
BC_UNCONFIRMED_CAST |
51 |
Medium |