SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.9.1
Threshold is medium
Effort is default
Summary
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 176 | 200 | 0 | 0 |
Files
org.opentrafficsim.editor.Actions
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.Actions.addNode() may expose internal representation by returning Actions.addNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 265 | Medium |
| org.opentrafficsim.editor.Actions.collapseAll() may expose internal representation by returning Actions.collapseAllAction | MALICIOUS_CODE | EI_EXPOSE_REP | 487 | Medium |
| org.opentrafficsim.editor.Actions.copyNode() may expose internal representation by returning Actions.copyNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 349 | Medium |
| org.opentrafficsim.editor.Actions.cutNode() may expose internal representation by returning Actions.cutNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 376 | Medium |
| org.opentrafficsim.editor.Actions.deleteNode() may expose internal representation by returning Actions.deleteNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 319 | Medium |
| org.opentrafficsim.editor.Actions.duplicateNode() may expose internal representation by returning Actions.duplicateNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 292 | Medium |
| org.opentrafficsim.editor.Actions.expandOrCollapseNode() may expose internal representation by returning Actions.expandOrCollapseNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 509 | Medium |
| org.opentrafficsim.editor.Actions.getNodeActions() may expose internal representation by returning Actions.nodeActions | MALICIOUS_CODE | EI_EXPOSE_REP | 71 | Medium |
| org.opentrafficsim.editor.Actions.insertNode() may expose internal representation by returning Actions.insertNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 403 | Medium |
| org.opentrafficsim.editor.Actions.moveNodeDown() may expose internal representation by returning Actions.moveNodeDownAction | MALICIOUS_CODE | EI_EXPOSE_REP | 563 | Medium |
| org.opentrafficsim.editor.Actions.moveNodeUp() may expose internal representation by returning Actions.moveNodeUpAction | MALICIOUS_CODE | EI_EXPOSE_REP | 536 | Medium |
| org.opentrafficsim.editor.Actions.pasteNode() may expose internal representation by returning Actions.pasteNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 431 | Medium |
| org.opentrafficsim.editor.Actions.revolveNode() may expose internal representation by returning Actions.revolveNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 459 | Medium |
| org.opentrafficsim.editor.Actions.showAttributeDescription() may expose internal representation by returning Actions.showAttributeDescriptionAction | MALICIOUS_CODE | EI_EXPOSE_REP | 213 | Medium |
| org.opentrafficsim.editor.Actions.showAttributeInvalid() may expose internal representation by returning Actions.showAttributeInvalidAction | MALICIOUS_CODE | EI_EXPOSE_REP | 239 | Medium |
| org.opentrafficsim.editor.Actions.showTreeNodeDescription() may expose internal representation by returning Actions.showTreeNodeDescriptionAction | MALICIOUS_CODE | EI_EXPOSE_REP | 160 | Medium |
| org.opentrafficsim.editor.Actions.showTreeNodeInvalid() may expose internal representation by returning Actions.showTreeNodeInvalidAction | MALICIOUS_CODE | EI_EXPOSE_REP | 184 | Medium |
| new org.opentrafficsim.editor.Actions(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into Actions.attributesTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 52 | Medium |
| new org.opentrafficsim.editor.Actions(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into Actions.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 51 | Medium |
| org.opentrafficsim.editor.Actions.setTreeTable(JTreeTable) may expose internal representation by storing an externally mutable object into Actions.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 61 | Medium |
org.opentrafficsim.editor.AttributesTableModel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.AttributesTableModel.getNode() may expose internal representation by returning AttributesTableModel.node | MALICIOUS_CODE | EI_EXPOSE_REP | 155 | Medium |
| new org.opentrafficsim.editor.AttributesTableModel(XsdTreeNode, JTreeTable) may expose internal representation by storing an externally mutable object into AttributesTableModel.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 64 | Medium |
| new org.opentrafficsim.editor.AttributesTableModel(XsdTreeNode, JTreeTable) may expose internal representation by storing an externally mutable object into AttributesTableModel.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 65 | Medium |
org.opentrafficsim.editor.ChildNodeFinder
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.ChildNodeFinder.get() may expose internal representation by returning ChildNodeFinder.child | MALICIOUS_CODE | EI_EXPOSE_REP | 65 | Medium |
| new org.opentrafficsim.editor.ChildNodeFinder(XsdTreeNode) may expose internal representation by storing an externally mutable object into ChildNodeFinder.parent | MALICIOUS_CODE | EI_EXPOSE_REP2 | 28 | Medium |
org.opentrafficsim.editor.Dialogs
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.Dialogs(OtsEditor) may expose internal representation by storing an externally mutable object into Dialogs.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 42 | Medium |
org.opentrafficsim.editor.EvalWrapper
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.EvalWrapper.getEval(ScenarioWrapper) may expose internal representation by returning EvalWrapper.eval | MALICIOUS_CODE | EI_EXPOSE_REP | 118 | Medium |
| org.opentrafficsim.editor.EvalWrapper.getLastValidEval() may expose internal representation by returning EvalWrapper.eval | MALICIOUS_CODE | EI_EXPOSE_REP | 131 | Medium |
| new org.opentrafficsim.editor.EvalWrapper(OtsEditor) may expose internal representation by storing an externally mutable object into EvalWrapper.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 75 | Medium |
| Exception is caught when Exception is not thrown in org.opentrafficsim.editor.EvalWrapper.wrap(XsdTreeNode) | STYLE | REC_CATCH_EXCEPTION | 330 | Medium |
org.opentrafficsim.editor.Navigation
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.Navigation.getGoBackAction() may expose internal representation by returning Navigation.goBackAction | MALICIOUS_CODE | EI_EXPOSE_REP | 97 | Medium |
| org.opentrafficsim.editor.Navigation.getGotoCoupledNodeAction() may expose internal representation by returning Navigation.goToCoupledNodeAction | MALICIOUS_CODE | EI_EXPOSE_REP | 132 | Medium |
| new org.opentrafficsim.editor.Navigation(OtsEditor, int) may expose internal representation by storing an externally mutable object into Navigation.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 49 | Medium |
| org.opentrafficsim.editor.Navigation.setCoupledNode(XsdTreeNode, XsdTreeNode, String) may expose internal representation by storing an externally mutable object into Navigation.candidateBackNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 87 | Medium |
| org.opentrafficsim.editor.Navigation.setCoupledNode(XsdTreeNode, XsdTreeNode, String) may expose internal representation by storing an externally mutable object into Navigation.coupledNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 86 | Medium |
org.opentrafficsim.editor.NodeActions
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.NodeActions(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into NodeActions.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
| new org.opentrafficsim.editor.NodeActions(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into NodeActions.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
org.opentrafficsim.editor.OtsEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Shared primitive variable "dropdownIndent" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1236 | Medium |
| Shared primitive variable "ignoreChanges" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1508 | Medium |
| Shared primitive variable "cut" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1728 | Medium |
| Shared primitive variable "mayPresentChoice" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1080 | Medium |
| Shared primitive variable "unsavedChanges" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 787 | Medium |
| Shared primitive variable "dropdownIndent" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1175 | Medium |
| org.opentrafficsim.editor.OtsEditor.actions() may expose internal representation by returning OtsEditor.actions | MALICIOUS_CODE | EI_EXPOSE_REP | 1761 | Medium |
| org.opentrafficsim.editor.OtsEditor.getChoiceNode() may expose internal representation by returning OtsEditor.choiceNode | MALICIOUS_CODE | EI_EXPOSE_REP | 1062 | Medium |
| org.opentrafficsim.editor.OtsEditor.getClipboard() may expose internal representation by returning OtsEditor.clipboard | MALICIOUS_CODE | EI_EXPOSE_REP | 1737 | Medium |
| org.opentrafficsim.editor.OtsEditor.getEventListenerMap() may expose internal representation by returning OtsEditor.listenerMap | MALICIOUS_CODE | EI_EXPOSE_REP | 1095 | Medium |
| org.opentrafficsim.editor.OtsEditor.getUndo() may expose internal representation by returning OtsEditor.undo | MALICIOUS_CODE | EI_EXPOSE_REP | 554 | Medium |
| org.opentrafficsim.editor.OtsEditor.setChoiceNode(XsdTreeNode) may expose internal representation by storing an externally mutable object into OtsEditor.choiceNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 1071 | Medium |
| org.opentrafficsim.editor.OtsEditor.setClipboard(XsdTreeNode, boolean) may expose internal representation by storing an externally mutable object into OtsEditor.clipboard | MALICIOUS_CODE | EI_EXPOSE_REP2 | 1727 | Medium |
| org.opentrafficsim.editor.OtsEditor.setSchema(Document) may expose internal representation by storing an externally mutable object into OtsEditor.xsdDocument | MALICIOUS_CODE | EI_EXPOSE_REP2 | 808 | Medium |
| org.opentrafficsim.editor.OtsEditor.checkAutosave() may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 834 | Medium |
| Exceptional return value of java.io.File.delete() ignored in org.opentrafficsim.editor.OtsEditor.checkAutosave() | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 852 | Medium |
| Exceptional return value of java.io.File.mkdir() ignored in org.opentrafficsim.editor.OtsEditor.checkAutosave() | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 829 | Medium |
| Exceptional return value of java.io.File.delete() ignored in org.opentrafficsim.editor.OtsEditor.runSingle() | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 513 | Medium |
org.opentrafficsim.editor.ScenarioWrapper
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.ScenarioWrapper.scenarioNode() may expose internal representation by returning ScenarioWrapper.scenarioNode | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
| new org.opentrafficsim.editor.ScenarioWrapper(XsdTreeNode) may expose internal representation by storing an externally mutable object into ScenarioWrapper.scenarioNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 12 | Medium |
org.opentrafficsim.editor.Schema
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.Schema at new org.opentrafficsim.editor.Schema(Document) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 96 | Medium |
| Call to java.util.Optional<org.w3c.dom.Node>.equals(org.w3c.dom.Node) in org.opentrafficsim.editor.Schema.isType(Node, String) | CORRECTNESS | EC_UNRELATED_CLASS_AND_INTERFACE | 972 | High |
| org.opentrafficsim.editor.Schema.getRoot() may expose internal representation by returning Schema.root | MALICIOUS_CODE | EI_EXPOSE_REP | 869 | Medium |
| org.opentrafficsim.editor.Schema.checkKeyOrUniques(String, Map) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 563 | Medium |
| org.opentrafficsim.editor.Schema.checkKeyrefs() makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 633 | Medium |
org.opentrafficsim.editor.Undo
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Shared primitive variable "cursor" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 151 | Medium |
| Shared primitive variable "cursor" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 79 | Medium |
| Shared primitive variable "ignoreChanges" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 77 | Medium |
| Shared primitive variable "ignoreChanges" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 91 | Medium |
| new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 64 | Medium |
| new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.redoItem | MALICIOUS_CODE | EI_EXPOSE_REP2 | 66 | Medium |
| new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.undoItem | MALICIOUS_CODE | EI_EXPOSE_REP2 | 65 | Medium |
org.opentrafficsim.editor.Undo$Action
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should org.opentrafficsim.editor.Undo$Action be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 505-512 | Medium |
org.opentrafficsim.editor.XiIncludeNode
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.XiIncludeNode.getFirstChild() may expose internal representation by returning XiIncludeNode.FILE_CHILD | MALICIOUS_CODE | EI_EXPOSE_REP | 98 | Medium |
| org.opentrafficsim.editor.XiIncludeNode.getLastChild() may expose internal representation by returning XiIncludeNode.FALLBACK_CHILD | MALICIOUS_CODE | EI_EXPOSE_REP | 104 | Medium |
org.opentrafficsim.editor.XsdOption
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.XsdOption.choice() may expose internal representation by returning XsdOption.choice | MALICIOUS_CODE | EI_EXPOSE_REP | 14 | Medium |
| org.opentrafficsim.editor.XsdOption.optionNode() may expose internal representation by returning XsdOption.optionNode | MALICIOUS_CODE | EI_EXPOSE_REP | 14 | Medium |
| new org.opentrafficsim.editor.XsdOption(XsdTreeNode, XsdTreeNode, boolean) may expose internal representation by storing an externally mutable object into XsdOption.choice | MALICIOUS_CODE | EI_EXPOSE_REP2 | 14 | Medium |
| new org.opentrafficsim.editor.XsdOption(XsdTreeNode, XsdTreeNode, boolean) may expose internal representation by storing an externally mutable object into XsdOption.optionNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 14 | Medium |
org.opentrafficsim.editor.XsdTreeNode
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Operation on the "active" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 1485 | Medium |
| Operation on the "isIncluded" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 1454 | Medium |
| Operation on the "maxOccurs" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 1480 | Medium |
| Operation on the "minOccurs" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 1479 | Medium |
| Operation on the "maxOccurs" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 545 | Medium |
| Operation on the "minOccurs" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 544 | Medium |
| Operation on the "active" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 1389 | Medium |
| Operation on the "maxOccurs" shared variable in "XsdTreeNode" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 383 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1364 | Medium |
| Shared primitive variable "isIncluded" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 754 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 548 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1887 | Medium |
| Shared primitive variable "idIndex" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1219 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 2802 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1136 | Medium |
| Shared primitive variable "active" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1186 | Medium |
| Shared primitive variable "deactivated" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1185 | Medium |
| Shared primitive variable "maxOccurs" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 368 | Medium |
| Shared primitive variable "minOccurs" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 367 | Medium |
| Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(Schema) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 269 | Medium |
| Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(XsdTreeNode, Node, ImmutableList) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 289 | Medium |
| Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(XsdTreeNode, Node, ImmutableList, Node) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 332 | Medium |
| org.opentrafficsim.editor.XsdTreeNode.getOption() may expose internal representation by returning XsdTreeNode.selected | MALICIOUS_CODE | EI_EXPOSE_REP | 529 | Medium |
| org.opentrafficsim.editor.XsdTreeNode.getParent() may expose internal representation by returning XsdTreeNode.parent | MALICIOUS_CODE | EI_EXPOSE_REP | 795 | Medium |
| Inconsistent synchronization of org.opentrafficsim.editor.XsdTreeNode.description; locked 42% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1851 | Medium |
| Return value of add() ignored, is this OK in org.opentrafficsim.editor.XsdTreeNode.assureChildren() | STYLE | RV_RETURN_VALUE_IGNORED_INFERRED | 783 | Medium |
| Return value of add() ignored, is this OK in org.opentrafficsim.editor.XsdTreeNode.loadChildren(XsdTreeNodeUtil$LoadingIndices, NodeList, boolean) | STYLE | RV_RETURN_VALUE_IGNORED_INFERRED | 2675 | Medium |
| org.opentrafficsim.editor.XsdTreeNode.loadXmlNodes(Node) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 2527 | Medium |
org.opentrafficsim.editor.XsdTreeNodeRoot
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.XsdTreeNodeRoot at new org.opentrafficsim.editor.XsdTreeNodeRoot(Schema, Supplier, Supplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 83 | Medium |
org.opentrafficsim.editor.XsdTreeNodeUtil$Occurs
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive org.opentrafficsim.editor.XsdTreeNodeUtil$Occurs.get(Node) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 510 | High |
org.opentrafficsim.editor.XsdTreeTableModel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.XsdTreeTableModel.setTreeTable(JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeTableModel.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 71 | Medium |
org.opentrafficsim.editor.decoration.AutomaticLinkId
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.decoration.AutomaticLinkId.notifyAttributeChanged(XsdTreeNode, String) may expose internal representation by storing an externally mutable object into AutomaticLinkId.lastNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 66 | Medium |
org.opentrafficsim.editor.decoration.LayoutCustomizer
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.decoration.LayoutCustomizer(OtsEditor) may expose internal representation by storing an externally mutable object into LayoutCustomizer.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 37 | Medium |
| Possible null pointer dereference of custom in org.opentrafficsim.editor.decoration.LayoutCustomizer.accept(XsdTreeNode) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 75 | Medium |
org.opentrafficsim.editor.decoration.validation.KeyValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.decoration.validation.KeyValidator at new org.opentrafficsim.editor.decoration.validation.KeyValidator(Node, String, Supplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 59 | Medium |
org.opentrafficsim.editor.decoration.validation.KeyrefValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.decoration.validation.KeyrefValidator at new org.opentrafficsim.editor.decoration.validation.KeyrefValidator(Node, String, KeyValidator, Supplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 54 | Medium |
| org.opentrafficsim.editor.decoration.validation.KeyrefValidator.getCouplings() may expose internal representation by returning KeyrefValidator.coupledNodes | MALICIOUS_CODE | EI_EXPOSE_REP | 232 | Medium |
| new org.opentrafficsim.editor.decoration.validation.KeyrefValidator(Node, String, KeyValidator, Supplier) may expose internal representation by storing an externally mutable object into KeyrefValidator.refer | MALICIOUS_CODE | EI_EXPOSE_REP2 | 61 | Medium |
org.opentrafficsim.editor.decoration.validation.ParentValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of parent at line 178 of value previously dereferenced in org.opentrafficsim.editor.decoration.validation.ParentValidator.getContext(XsdTreeNode) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 178 | Medium |
org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator at new org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator(OtsEditor, String, RoadLayoutElementValidator$LayoutCoupling, RoadLayoutElementValidator$RoadLayoutElementAttribute) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 114 | Medium |
| org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator.getCouplings() may expose internal representation by returning RoadLayoutElementValidator.coupledNodes | MALICIOUS_CODE | EI_EXPOSE_REP | 512 | Medium |
org.opentrafficsim.editor.decoration.validation.TrafficLightValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.decoration.validation.TrafficLightValidator.getCouplings() may expose internal representation by returning TrafficLightValidator.coupledNodes | MALICIOUS_CODE | EI_EXPOSE_REP | 192 | Medium |
org.opentrafficsim.editor.decoration.validation.ValueValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive org.opentrafficsim.editor.decoration.validation.ValueValidator.reportNativeTypeNonCompliance(String, String) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 457 | High |
org.opentrafficsim.editor.decoration.validation.XPathValidator
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.decoration.validation.XPathValidator at new org.opentrafficsim.editor.decoration.validation.XPathValidator(Node, String, Supplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 65 | Medium |
| org.opentrafficsim.editor.decoration.validation.XPathValidator.getSelectorTypeString() may expose internal representation by returning XPathValidator.selectors | MALICIOUS_CODE | EI_EXPOSE_REP | 140 | Medium |
| new org.opentrafficsim.editor.decoration.validation.XPathValidator(Node, String, Supplier) may expose internal representation by storing an externally mutable object into XPathValidator.keyNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 68 | Medium |
org.opentrafficsim.editor.extensions.DefinitionsSaver
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.DefinitionsSaver(OtsEditor) may expose internal representation by storing an externally mutable object into DefinitionsSaver.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
org.opentrafficsim.editor.extensions.OdEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.OdEditor(OtsEditor) may expose internal representation by storing an externally mutable object into OdEditor.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 | Medium |
org.opentrafficsim.editor.extensions.RoadLayoutEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.RoadLayoutEditor(OtsEditor) may expose internal representation by storing an externally mutable object into RoadLayoutEditor.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 41 | Medium |
org.opentrafficsim.editor.extensions.RouteEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.RouteEditor(OtsEditor) may expose internal representation by storing an externally mutable object into RouteEditor.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
org.opentrafficsim.editor.extensions.TrafCodEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.TrafCodEditor(OtsEditor) may expose internal representation by storing an externally mutable object into TrafCodEditor.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 | Medium |
org.opentrafficsim.editor.extensions.map.ChangeListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.ChangeListener.getNode() may expose internal representation by returning ChangeListener.node | MALICIOUS_CODE | EI_EXPOSE_REP | 180 | Medium |
| new org.opentrafficsim.editor.extensions.map.ChangeListener(XsdTreeNode, Supplier) may expose internal representation by storing an externally mutable object into ChangeListener.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium |
org.opentrafficsim.editor.extensions.map.EditorMap
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.EditorMap.getPanel() may expose internal representation by returning EditorMap.visualizationPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 1003 | Medium |
| org.opentrafficsim.editor.extensions.map.EditorMap.getSynchronizableStripes() may expose internal representation by returning EditorMap.synStripes | MALICIOUS_CODE | EI_EXPOSE_REP | 1029 | Medium |
| Possible null pointer dereference of EditorMap.networkFlattenerListener in org.opentrafficsim.editor.extensions.map.EditorMap.removeNetworkFlattener() | CORRECTNESS | NP_NULL_ON_SOME_PATH | 949 | Medium |
org.opentrafficsim.editor.extensions.map.FlattenerListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive org.opentrafficsim.editor.extensions.map.FlattenerListener.calculateData() | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 45 | High |
org.opentrafficsim.editor.extensions.map.MapCrossSectionData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.map.MapCrossSectionData(XsdTreeNode, CrossSectionGeometry) may expose internal representation by storing an externally mutable object into MapCrossSectionData.linkNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
org.opentrafficsim.editor.extensions.map.MapData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.MapData.getNode() may expose internal representation by returning MapData.node | MALICIOUS_CODE | EI_EXPOSE_REP | 64 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 54 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.map | MALICIOUS_CODE | EI_EXPOSE_REP2 | 52 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 53 | Medium |
org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData.getLaneWidth() may expose internal representation by returning MapLaneBasedObjectData.laneWidth | MALICIOUS_CODE | EI_EXPOSE_REP | 133 | Medium |
org.opentrafficsim.editor.extensions.map.MapLinkData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.MapLinkData.getEventListenerMap() may expose internal representation by returning MapLinkData.eventListenerMap | MALICIOUS_CODE | EI_EXPOSE_REP | 962 | Medium |
| Useless object stored in variable laneOverrides of method org.opentrafficsim.editor.extensions.map.MapLinkData.buildLayout() | STYLE | UC_USELESS_OBJECT | 736 | Medium |
org.opentrafficsim.editor.extensions.map.MapLinkData$MiddleOffset
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.map.MapLinkData$MiddleOffset(MapLinkData) may expose internal representation by storing an externally mutable object into MapLinkData$MiddleOffset.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 1065 | Medium |
| Should org.opentrafficsim.editor.extensions.map.MapLinkData$MiddleOffset be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 1050-1105 | Medium |
org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener.notify(Event) | STYLE | REC_CATCH_EXCEPTION | 1252 | Medium |
org.opentrafficsim.editor.extensions.map.MapPriorityData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.map.MapPriorityData(MapLinkData) may expose internal representation by storing an externally mutable object into MapPriorityData.linkData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 42 | Medium |
org.opentrafficsim.editor.extensions.map.MapStripeData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.MapStripeData.getDashOffset() may expose internal representation by returning MapStripeData.dashOffset | MALICIOUS_CODE | EI_EXPOSE_REP | 145 | Medium |
| org.opentrafficsim.editor.extensions.map.MapStripeData.getElements() may expose internal representation by returning MapStripeData.elements | MALICIOUS_CODE | EI_EXPOSE_REP | 139 | Medium |
| org.opentrafficsim.editor.extensions.map.MapStripeData.getWidth(Length) may expose internal representation by returning MapStripeData.width | MALICIOUS_CODE | EI_EXPOSE_REP | 103 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapStripeData(Length, XsdTreeNode, CrossSectionGeometry, List, StripeElement$StripeLateralSync, PolyLine2d, MapLinkData$MiddleOffset, Direction, Direction) may expose internal representation by storing an externally mutable object into MapStripeData.dashOffset | MALICIOUS_CODE | EI_EXPOSE_REP2 | 84 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapStripeData(Length, XsdTreeNode, CrossSectionGeometry, List, StripeElement$StripeLateralSync, PolyLine2d, MapLinkData$MiddleOffset, Direction, Direction) may expose internal representation by storing an externally mutable object into MapStripeData.elements | MALICIOUS_CODE | EI_EXPOSE_REP2 | 86 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapStripeData(Length, XsdTreeNode, CrossSectionGeometry, List, StripeElement$StripeLateralSync, PolyLine2d, MapLinkData$MiddleOffset, Direction, Direction) may expose internal representation by storing an externally mutable object into MapStripeData.endDirection | MALICIOUS_CODE | EI_EXPOSE_REP2 | 91 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapStripeData(Length, XsdTreeNode, CrossSectionGeometry, List, StripeElement$StripeLateralSync, PolyLine2d, MapLinkData$MiddleOffset, Direction, Direction) may expose internal representation by storing an externally mutable object into MapStripeData.middleOffset | MALICIOUS_CODE | EI_EXPOSE_REP2 | 89 | Medium |
| new org.opentrafficsim.editor.extensions.map.MapStripeData(Length, XsdTreeNode, CrossSectionGeometry, List, StripeElement$StripeLateralSync, PolyLine2d, MapLinkData$MiddleOffset, Direction, Direction) may expose internal representation by storing an externally mutable object into MapStripeData.startDirection | MALICIOUS_CODE | EI_EXPOSE_REP2 | 90 | Medium |
| org.opentrafficsim.editor.extensions.map.MapStripeData.setDashOffset(Length) may expose internal representation by storing an externally mutable object into MapStripeData.dashOffset | MALICIOUS_CODE | EI_EXPOSE_REP2 | 163 | Medium |
org.opentrafficsim.editor.extensions.map.MapVisualizationPanel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 157 | Medium |
org.opentrafficsim.editor.extensions.map.RoadLayoutListener$1
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in org.opentrafficsim.editor.extensions.map.RoadLayoutListener$1.hasNext() | STYLE | REC_CATCH_EXCEPTION | 215 | Medium |
org.opentrafficsim.editor.extensions.map.SynchronizableMapStripe
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.SynchronizableMapStripe.getObject() may expose internal representation by returning SynchronizableMapStripe.data | MALICIOUS_CODE | EI_EXPOSE_REP | 82 | Medium |
| new org.opentrafficsim.editor.extensions.map.SynchronizableMapStripe(MapLinkData, MapStripeData, StripeData$StripePhaseSync) may expose internal representation by storing an externally mutable object into SynchronizableMapStripe.data | MALICIOUS_CODE | EI_EXPOSE_REP2 | 45 | Medium |
| new org.opentrafficsim.editor.extensions.map.SynchronizableMapStripe(MapLinkData, MapStripeData, StripeData$StripePhaseSync) may expose internal representation by storing an externally mutable object into SynchronizableMapStripe.linkData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 44 | Medium |
org.opentrafficsim.editor.extensions.map.edit.DraggableAnnotation
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Shared primitive variable "highlight" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 84 | Medium |
org.opentrafficsim.editor.extensions.map.edit.DraggableAnnotation$Draggable
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.edit.DraggableAnnotation$Draggable.setNode(XsdTreeNode) may expose internal representation by storing an externally mutable object into DraggableAnnotation$Draggable.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 270 | Medium |
| org.opentrafficsim.editor.extensions.map.edit.DraggableAnnotation$Draggable.setNodeAttribute(XsdTreeNode, String) may expose internal representation by storing an externally mutable object into DraggableAnnotation$Draggable.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 295 | Medium |
org.opentrafficsim.editor.extensions.map.edit.MapAnnotation
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.extensions.map.edit.MapAnnotation(OtsShape, EditorMap) may expose internal representation by storing an externally mutable object into MapAnnotation.map | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
org.opentrafficsim.editor.extensions.map.edit.MapInputListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Shared primitive variable "snapSetting" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 418 | Medium |
| Shared primitive variable "dragging" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 242 | Medium |
| new org.opentrafficsim.editor.extensions.map.edit.MapInputListener(OtsEditor, EditorMap) may expose internal representation by storing an externally mutable object into MapInputListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 171 | Medium |
| new org.opentrafficsim.editor.extensions.map.edit.MapInputListener(OtsEditor, EditorMap) may expose internal representation by storing an externally mutable object into MapInputListener.editorMap | MALICIOUS_CODE | EI_EXPOSE_REP2 | 172 | Medium |
org.opentrafficsim.editor.extensions.map.edit.SelectionAnnotation$ZAdjustedMapData
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.extensions.map.edit.SelectionAnnotation$ZAdjustedMapData.mapData() may expose internal representation by returning SelectionAnnotation$ZAdjustedMapData.mapData | MALICIOUS_CODE | EI_EXPOSE_REP | 82 | Medium |
| new org.opentrafficsim.editor.extensions.map.edit.SelectionAnnotation$ZAdjustedMapData(MapData, double) may expose internal representation by storing an externally mutable object into SelectionAnnotation$ZAdjustedMapData.mapData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 82 | Medium |
org.opentrafficsim.editor.listeners.AttributesListSelectionListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.AttributesListSelectionListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesListSelectionListener.attributesTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 48 | Medium |
| new org.opentrafficsim.editor.listeners.AttributesListSelectionListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesListSelectionListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 47 | Medium |
org.opentrafficsim.editor.listeners.AttributesMouseListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.AttributesMouseListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesMouseListener.attributesTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 47 | Medium |
| new org.opentrafficsim.editor.listeners.AttributesMouseListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesMouseListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 46 | Medium |
org.opentrafficsim.editor.listeners.ChangesListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.ChangesListener(OtsEditor, JComboBox) may expose internal representation by storing an externally mutable object into ChangesListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 44 | Medium |
| new org.opentrafficsim.editor.listeners.ChangesListener(OtsEditor, JComboBox) may expose internal representation by storing an externally mutable object into ChangesListener.scenario | MALICIOUS_CODE | EI_EXPOSE_REP2 | 45 | Medium |
org.opentrafficsim.editor.listeners.FieldListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.FieldListener(DocumentListener, JPopupMenu, JTextField) may expose internal representation by storing an externally mutable object into FieldListener.documentListener | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
| new org.opentrafficsim.editor.listeners.FieldListener(DocumentListener, JPopupMenu, JTextField) may expose internal representation by storing an externally mutable object into FieldListener.field | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium |
| new org.opentrafficsim.editor.listeners.FieldListener(DocumentListener, JPopupMenu, JTextField) may expose internal representation by storing an externally mutable object into FieldListener.popup | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
org.opentrafficsim.editor.listeners.PopupValueSelectedListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.PopupValueSelectedListener(String, JTable, Consumer, JTreeTable) may expose internal representation by storing an externally mutable object into PopupValueSelectedListener.table | MALICIOUS_CODE | EI_EXPOSE_REP2 | 67 | Medium |
| new org.opentrafficsim.editor.listeners.PopupValueSelectedListener(String, JTable, Consumer, JTreeTable) may expose internal representation by storing an externally mutable object into PopupValueSelectedListener.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 69 | Medium |
org.opentrafficsim.editor.listeners.ScenarioActionListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.ScenarioActionListener(OtsEditor, JTabbedPane, JComboBox, EvalWrapper) may expose internal representation by storing an externally mutable object into ScenarioActionListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 47 | Medium |
| new org.opentrafficsim.editor.listeners.ScenarioActionListener(OtsEditor, JTabbedPane, JComboBox, EvalWrapper) may expose internal representation by storing an externally mutable object into ScenarioActionListener.evalWrapper | MALICIOUS_CODE | EI_EXPOSE_REP2 | 50 | Medium |
| new org.opentrafficsim.editor.listeners.ScenarioActionListener(OtsEditor, JTabbedPane, JComboBox, EvalWrapper) may expose internal representation by storing an externally mutable object into ScenarioActionListener.scenario | MALICIOUS_CODE | EI_EXPOSE_REP2 | 49 | Medium |
| new org.opentrafficsim.editor.listeners.ScenarioActionListener(OtsEditor, JTabbedPane, JComboBox, EvalWrapper) may expose internal representation by storing an externally mutable object into ScenarioActionListener.visualizationPane | MALICIOUS_CODE | EI_EXPOSE_REP2 | 48 | Medium |
org.opentrafficsim.editor.listeners.XsdTreeEditorListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.XsdTreeEditorListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeEditorListener.attributesTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 54 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeEditorListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeEditorListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 52 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeEditorListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeEditorListener.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 53 | Medium |
org.opentrafficsim.editor.listeners.XsdTreeKeyListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.listeners.XsdTreeKeyListener(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeKeyListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 43 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeKeyListener(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeKeyListener.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 44 | Medium |
org.opentrafficsim.editor.listeners.XsdTreeListener
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to sepNeeded in org.opentrafficsim.editor.listeners.XsdTreeListener.addMoveNodeGroup(XsdTreeNode, JPopupMenu, boolean) | STYLE | DLS_DEAD_LOCAL_STORE | 532 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeListener.attributesTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 83 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeListener.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 81 | Medium |
| new org.opentrafficsim.editor.listeners.XsdTreeListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeListener.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 82 | Medium |
org.opentrafficsim.editor.render.AttributeCellRenderer
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.render.AttributeCellRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) may expose internal representation by returning AttributeCellRenderer.checkBox | MALICIOUS_CODE | EI_EXPOSE_REP | 129 | Medium |
org.opentrafficsim.editor.render.AttributesCellEditor
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opentrafficsim.editor.render.AttributesCellEditor.getTableCellEditorComponent(JTable, Object, boolean, int, int) may expose internal representation by returning AttributesCellEditor.checkBox | MALICIOUS_CODE | EI_EXPOSE_REP | 138 | Medium |
| new org.opentrafficsim.editor.render.AttributesCellEditor(JTable, OtsEditor) may expose internal representation by storing an externally mutable object into AttributesCellEditor.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 77 | Medium |
| org.opentrafficsim.editor.render.AttributesCellEditor$2 stored into non-transient field AttributesCellEditor.lastActionListener | BAD_PRACTICE | SE_BAD_FIELD_STORE | 124 | Medium |
org.opentrafficsim.editor.render.StringCellRenderer
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new org.opentrafficsim.editor.render.StringCellRenderer(JTreeTable) may expose internal representation by storing an externally mutable object into StringCellRenderer.treeTable | MALICIOUS_CODE | EI_EXPOSE_REP2 | 44 | Medium |
org.opentrafficsim.editor.render.XsdTreeCellRenderer
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.editor.render.XsdTreeCellRenderer at new org.opentrafficsim.editor.render.XsdTreeCellRenderer(OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 59 | Medium |
| new org.opentrafficsim.editor.render.XsdTreeCellRenderer(OtsEditor) may expose internal representation by storing an externally mutable object into XsdTreeCellRenderer.editor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 58 | Medium |
