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 |
1822-1827 |
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 |
2283 |
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 |
2298 |
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 |
382-387 |
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 |
593 |
Medium |
| Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.getInputAutoNumberRowValue(boolean, ColumnImpl, Object[]) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
3003 |
Medium |
| Comparison of String objects using == or != in com.healthmarketscience.jackcess.impl.TableImpl.getInputAutoNumberRowValue(boolean, ColumnImpl, Object[]) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
3003 |
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 |
2508 |
Medium |
| Exception is caught when Exception is not thrown in com.healthmarketscience.jackcess.impl.TableImpl.addRows(List, boolean) |
STYLE |
REC_CATCH_EXCEPTION |
2355 |
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 |
345 |
Medium |
| Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-375 |
Medium |
| Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultNumberFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-375 |
Medium |
| Initialization circularity between com.healthmarketscience.jackcess.impl.expr.DefaultFinancialFunctions and com.healthmarketscience.jackcess.impl.expr.DefaultTextFunctions |
STYLE |
IC_INIT_CIRCULARITY |
38-375 |
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 |