SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.1

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
9 31 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader 8
nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileCsvParser 1
nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileXmlParser 1
nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d 3
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader 18

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

Bug Category Details Line Priority
Found reliance on default encoding in nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRow(int): new String(byte[]) I18N DM_DEFAULT_ENCODING 137 High
Found reliance on default encoding in nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getRows(): new String(byte[]) I18N DM_DEFAULT_ENCODING 159 High
nl.tudelft.simulation.dsol.animation.gis.esri.DbfReader.getColumnNames() may expose internal representation by returning DbfReader.columnNames MALICIOUS_CODE EI_EXPOSE_REP 110 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 136 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 158 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 65 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 131 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 152 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 95 High

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

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in nl.tudelft.simulation.dsol.animation.gis.esri.EsriFileXmlParser.<static initializer for EsriFileXmlParser>() STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 50 Medium

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 178 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 97 Medium
Class nl.tudelft.simulation.dsol.animation.gis.esri.EsriRenderable2d defines non-transient non-serializable instance field cachedImage BAD_PRACTICE SE_BAD_FIELD Not available Medium

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

Bug Category Details Line Priority
Dead store to shapeNumber in nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readShape(ObjectEndianInputStream, int, int, int, boolean) STYLE DLS_DEAD_LOCAL_STORE 307 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.getFeatures() may expose internal representation by returning ShapeFileReader.featuresToRead MALICIOUS_CODE EI_EXPOSE_REP 147 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 121 Medium
Class nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader defines non-transient non-serializable instance field coordinateTransform BAD_PRACTICE SE_BAD_FIELD Not available Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readAllShapes() ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 194 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 514 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 784 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 649 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 675 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 537 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 693 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 556 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 473 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 738 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 603 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 175 Medium
nl.tudelft.simulation.dsol.animation.gis.esri.ShapeFileReader.readShapes(Bounds2d) ignores result of nl.tudelft.simulation.dsol.animation.gis.io.ObjectEndianInputStream.skipBytes(int) BAD_PRACTICE SR_NOT_CHECKED 219 Medium