Fork me on GitHub

SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.6

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
234 66 0 0

Files

Class Bugs
edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm 6
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch 4
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataModel 2
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataNode 2
edu.jiangxin.apktoolbox.android.dumpsys.alarm.DumpsysAlarmPanel 3
edu.jiangxin.apktoolbox.android.dumpsys.alarm.SharedData 2
edu.jiangxin.apktoolbox.android.monkey.MonkeyPanel$MyDialog 1
edu.jiangxin.apktoolbox.android.screenshot.ScreenShotPanel$GetExistButtonActionListener 1
edu.jiangxin.apktoolbox.convert.color.ColorConvertPanel$ColorDefaultTableModel 1
edu.jiangxin.apktoolbox.convert.color.ColorPickerPanel 2
edu.jiangxin.apktoolbox.convert.color.colortable.OrdinaryColorTable 2
edu.jiangxin.apktoolbox.convert.color.colortable.RalColorTable 2
edu.jiangxin.apktoolbox.convert.protobuf.supervised.ProtoToJson 1
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.BufferReader 1
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult 4
edu.jiangxin.apktoolbox.file.batchrename.BatchRenamePanel 1
edu.jiangxin.apktoolbox.file.checksum.panel.FileChecksumPanel 1
edu.jiangxin.apktoolbox.file.checksum.panel.StringHashPanel 1
edu.jiangxin.apktoolbox.file.core.FileFilterWrapper 1
edu.jiangxin.apktoolbox.file.password.recovery.RecoveryPanel 1
edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceFuture 3
edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceRunnable 2
edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader 3
edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.DictionaryMultiThreadProxy 2
edu.jiangxin.apktoolbox.file.zhconvert.ZHConverterUtils 2
edu.jiangxin.apktoolbox.file.zhconvert.ZhConvertPanel$ConvertBtnActionListener 1
edu.jiangxin.apktoolbox.help.CheckUpdateActionListener 1
edu.jiangxin.apktoolbox.main.MainFrame$ChangeMenuToPanelListener 1
edu.jiangxin.apktoolbox.swing.extend.autocomplete.AutoCompleter 1
edu.jiangxin.apktoolbox.swing.extend.filepanel.FilePanel 1
edu.jiangxin.apktoolbox.swing.extend.listener.SelectDirectoryListener 1
edu.jiangxin.apktoolbox.swing.extend.listener.SelectFileListener 2
edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellEditor 3
edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellRenderer 1
edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableModelAdapter 2
edu.jiangxin.apktoolbox.utils.Utils 1

edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm at new edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 31 Medium
Boxing/unboxing to parse a primitive new edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 31 High
Boxing/unboxing to parse a primitive new edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 56 High
edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm.getParentBatch() may expose internal representation by returning Alarm.parentBatch MALICIOUS_CODE EI_EXPOSE_REP 85 Medium
edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm.setParentBatch(AlarmBatch) may expose internal representation by storing an externally mutable object into Alarm.parentBatch MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium
Switch statement found in new edu.jiangxin.apktoolbox.android.dumpsys.alarm.Alarm(String) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 40-51 Medium

edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch at new edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch(String[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 37 Medium
Boxing/unboxing to parse a primitive edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch.setParameter(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 49 High
Boxing/unboxing to parse a primitive edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch.setParameter(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 57 High
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmBatch.getListAlarms() may expose internal representation by returning AlarmBatch.listAlarms MALICIOUS_CODE EI_EXPOSE_REP 94 Medium

edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataModel

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataModel.columnNames should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 7 Medium
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataModel.columnTypes should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 9 Medium

edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataNode

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataNode.getChildren() may expose internal representation by returning AlarmTreeTableDataNode.children MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
new edu.jiangxin.apktoolbox.android.dumpsys.alarm.AlarmTreeTableDataNode(String, String, String, String, String, List) may expose internal representation by storing an externally mutable object into AlarmTreeTableDataNode.children MALICIOUS_CODE EI_EXPOSE_REP2 21 Medium

edu.jiangxin.apktoolbox.android.dumpsys.alarm.DumpsysAlarmPanel

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive edu.jiangxin.apktoolbox.android.dumpsys.alarm.DumpsysAlarmPanel.updateUIFromString() PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 263 High
Boxing/unboxing to parse a primitive edu.jiangxin.apktoolbox.android.dumpsys.alarm.DumpsysAlarmPanel.updateUIFromString() PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 249 High
Return value of String.replace(CharSequence, CharSequence) ignored in edu.jiangxin.apktoolbox.android.dumpsys.alarm.DumpsysAlarmPanel.updateUIFromString() CORRECTNESS RV_RETURN_VALUE_IGNORED 277 High

edu.jiangxin.apktoolbox.android.dumpsys.alarm.SharedData

Bug Category Details Line Priority
Public static edu.jiangxin.apktoolbox.android.dumpsys.alarm.SharedData.getInstance() may expose internal representation by returning SharedData.instance MALICIOUS_CODE MS_EXPOSE_REP 17 Medium
Instance-getter method of class using singleton design pattern (edu.jiangxin.apktoolbox.android.dumpsys.alarm.SharedData) is not synchronized. CORRECTNESS SING_SINGLETON_GETTER_NOT_SYNCHRONIZED 14-17 Medium

edu.jiangxin.apktoolbox.android.monkey.MonkeyPanel$MyDialog

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.android.monkey.MonkeyPanel$MyDialog at new edu.jiangxin.apktoolbox.android.monkey.MonkeyPanel$MyDialog(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 761 Medium

edu.jiangxin.apktoolbox.android.screenshot.ScreenShotPanel$GetExistButtonActionListener

Bug Category Details Line Priority
Should edu.jiangxin.apktoolbox.android.screenshot.ScreenShotPanel$GetExistButtonActionListener be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 131-135 Medium

edu.jiangxin.apktoolbox.convert.color.ColorConvertPanel$ColorDefaultTableModel

Bug Category Details Line Priority
Should edu.jiangxin.apktoolbox.convert.color.ColorConvertPanel$ColorDefaultTableModel be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 365-371 Medium

edu.jiangxin.apktoolbox.convert.color.ColorPickerPanel

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive edu.jiangxin.apktoolbox.convert.color.ColorPickerPanel.lambda$initThirdColumn$2(JComboBox, ActionEvent) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 188 High
java.awt.image.BufferedImage stored into non-transient field ColorPickerPanel.areaImage BAD_PRACTICE SE_BAD_FIELD_STORE 336 Medium

edu.jiangxin.apktoolbox.convert.color.colortable.OrdinaryColorTable

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.convert.color.colortable.OrdinaryColorTable.COLUMN_NAMES should be package protected MALICIOUS_CODE MS_PKGPROTECT 30 Medium
edu.jiangxin.apktoolbox.convert.color.colortable.OrdinaryColorTable.TABLE_ROW_DATA should be package protected MALICIOUS_CODE MS_PKGPROTECT 34 Medium

edu.jiangxin.apktoolbox.convert.color.colortable.RalColorTable

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.convert.color.colortable.RalColorTable.COLUMN_NAMES should be package protected MALICIOUS_CODE MS_PKGPROTECT 30 Medium
edu.jiangxin.apktoolbox.convert.color.colortable.RalColorTable.TABLE_ROW_DATA should be package protected MALICIOUS_CODE MS_PKGPROTECT 34 Medium

edu.jiangxin.apktoolbox.convert.protobuf.supervised.ProtoToJson

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.convert.protobuf.supervised.ProtoToJson.getCache() may expose internal representation by returning ProtoToJson.cache MALICIOUS_CODE EI_EXPOSE_REP 117 Medium

edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.BufferReader

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.BufferReader(byte[]) may expose internal representation by storing an externally mutable object into BufferReader.buffer MALICIOUS_CODE EI_EXPOSE_REP2 16 Medium

edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult.getByteRange() may expose internal representation by returning DecoderResult.byteRange MALICIOUS_CODE EI_EXPOSE_REP 33 Medium
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult.getSubResults() may expose internal representation by returning DecoderResult.subResults MALICIOUS_CODE EI_EXPOSE_REP 65 Medium
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult.setByteRange(List) may expose internal representation by storing an externally mutable object into DecoderResult.byteRange MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium
edu.jiangxin.apktoolbox.convert.protobuf.unsupervised.DecoderResult.setSubResults(List) may expose internal representation by storing an externally mutable object into DecoderResult.subResults MALICIOUS_CODE EI_EXPOSE_REP2 69 Medium

edu.jiangxin.apktoolbox.file.batchrename.BatchRenamePanel

Bug Category Details Line Priority
Switch statement found in edu.jiangxin.apktoolbox.file.batchrename.BatchRenamePanel.getNewFileNameWhen4Selected(File) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 432-440 Medium

edu.jiangxin.apktoolbox.file.checksum.panel.FileChecksumPanel

Bug Category Details Line Priority
Redundant nullcheck of file, which is known to be non-null in edu.jiangxin.apktoolbox.file.checksum.panel.FileChecksumPanel.lambda$createOperationPanel$1(ActionEvent) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 166 Medium

edu.jiangxin.apktoolbox.file.checksum.panel.StringHashPanel

Bug Category Details Line Priority
Found reliance on default encoding in edu.jiangxin.apktoolbox.file.checksum.panel.StringHashPanel.calculate(CalculateType, String): String.getBytes() I18N DM_DEFAULT_ENCODING 264 High

edu.jiangxin.apktoolbox.file.core.FileFilterWrapper

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in edu.jiangxin.apktoolbox.file.core.FileFilterWrapper.main(String[]) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 49 Medium

edu.jiangxin.apktoolbox.file.password.recovery.RecoveryPanel

Bug Category Details Line Priority
Class edu.jiangxin.apktoolbox.file.password.recovery.RecoveryPanel defines non-transient non-serializable instance field currentFileChecker BAD_PRACTICE SE_BAD_FIELD Not available Medium

edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceFuture

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceFuture.get() does not release lock on all exception paths MT_CORRECTNESS UL_UNRELEASED_LOCK_EXCEPTION_PATH 54 Medium
edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceFuture.set(String) does not release lock on all exception paths MT_CORRECTNESS UL_UNRELEASED_LOCK_EXCEPTION_PATH 30 Medium
Condition.await() not in loop in edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceFuture.get() MT_CORRECTNESS WA_AWAIT_NOT_IN_LOOP 57 Medium

edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceRunnable

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceRunnable(int, BruteForceTaskParam, BruteForceFuture, RecoveryPanel) may expose internal representation by storing an externally mutable object into BruteForceRunnable.bruteForceFuture MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium
new edu.jiangxin.apktoolbox.file.password.recovery.category.bruteforce.BruteForceRunnable(int, BruteForceTaskParam, BruteForceFuture, RecoveryPanel) may expose internal representation by storing an externally mutable object into BruteForceRunnable.panel MALICIOUS_CODE EI_EXPOSE_REP2 21 Medium

edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader at new edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader(CompleteCallback, RecoveryPanel) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 45 Medium
Found reliance on default encoding in edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader.handle(byte[]): new String(byte[]) I18N DM_DEFAULT_ENCODING 130 High
new edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.BigFileReader(CompleteCallback, RecoveryPanel) may expose internal representation by storing an externally mutable object into BigFileReader.panel MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.DictionaryMultiThreadProxy

Bug Category Details Line Priority
Unconditional wait in edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.DictionaryMultiThreadProxy.startAndGet(RecoveryPanel) MT_CORRECTNESS UW_UNCOND_WAIT 43 Medium
Wait not in loop in edu.jiangxin.apktoolbox.file.password.recovery.category.dictionary.multithread.DictionaryMultiThreadProxy.startAndGet(RecoveryPanel) MT_CORRECTNESS WA_NOT_IN_LOOP 43 Medium

edu.jiangxin.apktoolbox.file.zhconvert.ZHConverterUtils

Bug Category Details Line Priority
Found reliance on default encoding in edu.jiangxin.apktoolbox.file.zhconvert.ZHConverterUtils.initProperties(String, Properties): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 37 High
edu.jiangxin.apktoolbox.file.zhconvert.ZHConverterUtils.getCharMap() may expose internal representation by returning ZHConverterUtils.charMap MALICIOUS_CODE EI_EXPOSE_REP 105 Medium

edu.jiangxin.apktoolbox.file.zhconvert.ZhConvertPanel$ConvertBtnActionListener

Bug Category Details Line Priority
Return value of edu.jiangxin.apktoolbox.swing.extend.EasyPanel.getFrame() ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 162 Medium

edu.jiangxin.apktoolbox.help.CheckUpdateActionListener

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.help.CheckUpdateActionListener(Component) may expose internal representation by storing an externally mutable object into CheckUpdateActionListener.parent MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

edu.jiangxin.apktoolbox.main.MainFrame$ChangeMenuToPanelListener

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.main.MainFrame$ChangeMenuToPanelListener at new edu.jiangxin.apktoolbox.main.MainFrame$ChangeMenuToPanelListener(MainFrame, Class, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 339 Medium

edu.jiangxin.apktoolbox.swing.extend.autocomplete.AutoCompleter

Bug Category Details Line Priority
Exception thrown in class edu.jiangxin.apktoolbox.swing.extend.autocomplete.AutoCompleter at new edu.jiangxin.apktoolbox.swing.extend.autocomplete.AutoCompleter(JComboBox) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 19 Medium

edu.jiangxin.apktoolbox.swing.extend.filepanel.FilePanel

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.swing.extend.filepanel.FilePanel.setDescriptionAndFileExtensions(String, String[]) may expose internal representation by storing an externally mutable object into FilePanel.extensions MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

edu.jiangxin.apktoolbox.swing.extend.listener.SelectDirectoryListener

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.swing.extend.listener.SelectDirectoryListener(String, JTextField) may expose internal representation by storing an externally mutable object into SelectDirectoryListener.pathTextField MALICIOUS_CODE EI_EXPOSE_REP2 17 Medium

edu.jiangxin.apktoolbox.swing.extend.listener.SelectFileListener

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.swing.extend.listener.SelectFileListener(String, JTextField) may expose internal representation by storing an externally mutable object into SelectFileListener.pathTextField MALICIOUS_CODE EI_EXPOSE_REP2 21 Medium
new edu.jiangxin.apktoolbox.swing.extend.listener.SelectFileListener(String, JTextField, FileFilter) may expose internal representation by storing an externally mutable object into SelectFileListener.pathTextField MALICIOUS_CODE EI_EXPOSE_REP2 27 Medium

edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellEditor

Bug Category Details Line Priority
edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellEditor.getTableCellEditorComponent(JTable, Object, boolean, int, int) may expose internal representation by returning MyTreeTableCellEditor.tree MALICIOUS_CODE EI_EXPOSE_REP 23 Medium
new edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellEditor(JTree, JTable) may expose internal representation by storing an externally mutable object into MyTreeTableCellEditor.table MALICIOUS_CODE EI_EXPOSE_REP2 19 Medium
new edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellEditor(JTree, JTable) may expose internal representation by storing an externally mutable object into MyTreeTableCellEditor.tree MALICIOUS_CODE EI_EXPOSE_REP2 18 Medium

edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellRenderer

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableCellRenderer(MyTreeTable, TreeModel) may expose internal representation by storing an externally mutable object into MyTreeTableCellRenderer.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableModelAdapter

Bug Category Details Line Priority
new edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableModelAdapter(MyAbstractTreeTableModel, JTree) may expose internal representation by storing an externally mutable object into MyTreeTableModelAdapter.tree MALICIOUS_CODE EI_EXPOSE_REP2 17 Medium
new edu.jiangxin.apktoolbox.swing.treetable.MyTreeTableModelAdapter(MyAbstractTreeTableModel, JTree) may expose internal representation by storing an externally mutable object into MyTreeTableModelAdapter.treeTableModel MALICIOUS_CODE EI_EXPOSE_REP2 18 Medium

edu.jiangxin.apktoolbox.utils.Utils

Bug Category Details Line Priority
Found reliance on default encoding in edu.jiangxin.apktoolbox.utils.Utils.getFileLineCount(File): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 217 High