SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.8

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
9 30 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader 9
nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileCsvParser 1
nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d 2
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader 18

nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader at new nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader(URL) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 55 Medium
Found reliance on default encoding in nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRow(int): new String(byte[]) I18N DM_DEFAULT_ENCODING 133 High
Found reliance on default encoding in nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRows(): new String(byte[]) I18N DM_DEFAULT_ENCODING 155 High
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getColumnNames() may expose internal representation by returning DbfReader.columnNames MALICIOUS_CODE EI_EXPOSE_REP 106 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRow(int) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.read(byte[]) BAD_PRACTICE RR_NOT_CHECKED 132 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRows() ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.read(byte[]) BAD_PRACTICE RR_NOT_CHECKED 154 Medium
new nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader(URL) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 61 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRow(int) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 127 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRows() ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 148 Medium

nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileCsvParser

Bug Category Details Line Priority
Found reliance on default encoding in nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileCsvParser.parseMapFile(URL, String, CoordinateTransform, char, char): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 96 High

nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d.getMap() may expose internal representation by returning EsriRenderable2d.map MALICIOUS_CODE EI_EXPOSE_REP 169 Medium
new nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d(Contextualized, GisMapInterface, CoordinateTransform, double) may expose internal representation by storing an externally mutable object into EsriRenderable2d.map MALICIOUS_CODE EI_EXPOSE_REP2 92 Medium

nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader at new nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader(URL, CoordinateTransform, List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 128 Medium
Dead store to attributes in nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readAllShapes(FeatureInterface) STYLE DLS_DEAD_LOCAL_STORE 181 Medium
Dead store to shapeNumber in nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readShape(ObjectEndianInputStream, int, int, int, boolean) STYLE DLS_DEAD_LOCAL_STORE 309 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.getFeatures() may expose internal representation by returning ShapeFileReader.featuresToRead MALICIOUS_CODE EI_EXPOSE_REP 135 Medium
new nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader(URL, CoordinateTransform, List) may expose internal representation by storing an externally mutable object into ShapeFileReader.featuresToRead MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readAllShapes(FeatureInterface) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 180 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readMultiPoint(ObjectEndianInputStream, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 522 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readMultiPointM(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 785 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readMultiPointZ(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 654 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPointM(ObjectEndianInputStream, int) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 679 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPointZ(ObjectEndianInputStream, int) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 545 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolyLine(ObjectEndianInputStream, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 432 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolyLineM(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 696 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolyLineZ(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 563 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolygon(ObjectEndianInputStream, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 477 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolygonM(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 740 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readPolygonZ(ObjectEndianInputStream, int, boolean) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 609 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readShape(int) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 161 Medium