SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.3

Threshold is medium

Effort is max

Summary

Classes Bugs Errors Missing Classes
9 17 0 2

Files

Class Bugs
de.gmorling.scriptabledataset.ScriptableDataSetConfig 1
de.gmorling.scriptabledataset.ScriptableDataSetTest 5
de.gmorling.scriptabledataset.ScriptableIterator 1
de.gmorling.scriptabledataset.ScriptableTable 6
de.gmorling.scriptabledataset.handlers.JRubyScriptInvocationHandler 3
de.gmorling.scriptabledataset.handlers.StandardHandlerConfig 1

de.gmorling.scriptabledataset.ScriptableDataSetConfig

Bug Category Details Line Priority
de.gmorling.scriptabledataset.ScriptableDataSetConfig.getHandlers() may expose internal representation by returning ScriptableDataSetConfig.handlers MALICIOUS_CODE EI_EXPOSE_REP 103 Medium

de.gmorling.scriptabledataset.ScriptableDataSetTest

Bug Category Details Line Priority
de.gmorling.scriptabledataset.ScriptableDataSetTest.customHandler() may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 182 Medium
de.gmorling.scriptabledataset.ScriptableDataSetTest.dataSetWithMultipleLanguages() may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 161 Medium
de.gmorling.scriptabledataset.ScriptableDataSetTest.groovyScript() may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 143 Medium
de.gmorling.scriptabledataset.ScriptableDataSetTest.jRubyScript() may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 126 Medium
de.gmorling.scriptabledataset.ScriptableDataSetTest.unknownScriptingEngine() may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 200 Medium

de.gmorling.scriptabledataset.ScriptableIterator

Bug Category Details Line Priority
new de.gmorling.scriptabledataset.ScriptableIterator(ITableIterator, List) may expose internal representation by storing an externally mutable object into ScriptableIterator.configurations MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium

de.gmorling.scriptabledataset.ScriptableTable

Bug Category Details Line Priority
Exception thrown in class de.gmorling.scriptabledataset.ScriptableTable at new de.gmorling.scriptabledataset.ScriptableTable(ITable, List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 75 Medium
Class de.gmorling.scriptabledataset.ScriptableTable holds a map-type field de.gmorling.scriptabledataset.ScriptableTable.enginesByPrefix, but uses it as only a List CORRECTNESS DMC_DUBIOUS_MAP_COLLECTION Not available Medium
Constrained method de.gmorling.scriptabledataset.ScriptableTable.getValue(int, String) converts checked exception to unchecked instead of another allowable checked exception STYLE EXS_EXCEPTION_SOFTENING_HAS_CHECKED 133 Medium
Method new de.gmorling.scriptabledataset.ScriptableTable(ITable, List) does not presize the allocation of a collection PERFORMANCE PSC_PRESIZE_COLLECTIONS 77 Medium
Method new de.gmorling.scriptabledataset.ScriptableTable(ITable, List) does not presize the allocation of a collection PERFORMANCE PSC_PRESIZE_COLLECTIONS 85 Medium
This use of javax/script/ScriptEngine.eval(Ljava/lang/String;)Ljava/lang/Object; can be vulnerable to code injection SECURITY SCRIPT_ENGINE_INJECTION 131 Medium

de.gmorling.scriptabledataset.handlers.JRubyScriptInvocationHandler

Bug Category Details Line Priority
de.gmorling.scriptabledataset.handlers.JRubyScriptInvocationHandler.setScriptEngine(ScriptEngine) may expose internal representation by storing an externally mutable object into JRubyScriptInvocationHandler.engine MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
Constrained method de.gmorling.scriptabledataset.handlers.JRubyScriptInvocationHandler.postInvoke(Object) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CHECKED 52 Medium
Method de.gmorling.scriptabledataset.handlers.JRubyScriptInvocationHandler.postInvoke(Object) makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 48 High

de.gmorling.scriptabledataset.handlers.StandardHandlerConfig

Bug Category Details Line Priority
Method de.gmorling.scriptabledataset.handlers.StandardHandlerConfig.getStandardHandlersByLanguage(String) checks a map with containsKey(), before using get() CORRECTNESS MUI_CONTAINSKEY_BEFORE_GET 81 Medium