SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.6

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
299 78 0 0

Files

Class Bugs
com.irurueta.geometry.io.DataChunk 12
com.irurueta.geometry.io.ElementPLY 2
com.irurueta.geometry.io.FileReaderAndWriter 1
com.irurueta.geometry.io.HeaderPLY 3
com.irurueta.geometry.io.Loader 1
com.irurueta.geometry.io.LoaderBinary 1
com.irurueta.geometry.io.LoaderOBJ 14
com.irurueta.geometry.io.LoaderOBJ$LoaderIteratorOBJ 1
com.irurueta.geometry.io.LoaderPLY 13
com.irurueta.geometry.io.LoaderPLY$LoaderIteratorPLY 1
com.irurueta.geometry.io.LoaderSTL 5
com.irurueta.geometry.io.LoaderSTL$LoaderIteratorSTL 2
com.irurueta.geometry.io.MappedFileReaderAndWriter 2
com.irurueta.geometry.io.Material 10
com.irurueta.geometry.io.MaterialLoader 3
com.irurueta.geometry.io.MaterialLoaderOBJ 3
com.irurueta.geometry.io.MeshWriter 1
com.irurueta.geometry.io.MeshWriterJson 1
com.irurueta.geometry.io.VertexOBJ 2

com.irurueta.geometry.io.DataChunk

Bug Category Details Line Priority
com.irurueta.geometry.io.DataChunk.getColorData() may expose internal representation by returning DataChunk.colors MALICIOUS_CODE EI_EXPOSE_REP 201 Medium
com.irurueta.geometry.io.DataChunk.getIndicesData() may expose internal representation by returning DataChunk.indices MALICIOUS_CODE EI_EXPOSE_REP 239 Medium
com.irurueta.geometry.io.DataChunk.getMaterial() may expose internal representation by returning DataChunk.material MALICIOUS_CODE EI_EXPOSE_REP 480 Medium
com.irurueta.geometry.io.DataChunk.getNormalsData() may expose internal representation by returning DataChunk.normals MALICIOUS_CODE EI_EXPOSE_REP 312 Medium
com.irurueta.geometry.io.DataChunk.getTextureCoordinatesData() may expose internal representation by returning DataChunk.textureCoords MALICIOUS_CODE EI_EXPOSE_REP 280 Medium
com.irurueta.geometry.io.DataChunk.getVerticesCoordinatesData() may expose internal representation by returning DataChunk.coords MALICIOUS_CODE EI_EXPOSE_REP 165 Medium
com.irurueta.geometry.io.DataChunk.setColorData(short[]) may expose internal representation by storing an externally mutable object into DataChunk.colors MALICIOUS_CODE EI_EXPOSE_REP2 188 Medium
com.irurueta.geometry.io.DataChunk.setIndicesData(int[]) may expose internal representation by storing an externally mutable object into DataChunk.indices MALICIOUS_CODE EI_EXPOSE_REP2 225 Medium
com.irurueta.geometry.io.DataChunk.setMaterial(Material) may expose internal representation by storing an externally mutable object into DataChunk.material MALICIOUS_CODE EI_EXPOSE_REP2 490 Medium
com.irurueta.geometry.io.DataChunk.setNormalsData(float[]) may expose internal representation by storing an externally mutable object into DataChunk.normals MALICIOUS_CODE EI_EXPOSE_REP2 301 Medium
com.irurueta.geometry.io.DataChunk.setTextureCoordinatesData(float[]) may expose internal representation by storing an externally mutable object into DataChunk.textureCoords MALICIOUS_CODE EI_EXPOSE_REP2 265 Medium
com.irurueta.geometry.io.DataChunk.setVerticesCoordinatesData(float[]) may expose internal representation by storing an externally mutable object into DataChunk.coords MALICIOUS_CODE EI_EXPOSE_REP2 154 Medium

com.irurueta.geometry.io.ElementPLY

Bug Category Details Line Priority
com.irurueta.geometry.io.ElementPLY.getProperties() may expose internal representation by returning ElementPLY.properties MALICIOUS_CODE EI_EXPOSE_REP 127 Medium
new com.irurueta.geometry.io.ElementPLY(String, long, List) may expose internal representation by storing an externally mutable object into ElementPLY.properties MALICIOUS_CODE EI_EXPOSE_REP2 81 Medium

com.irurueta.geometry.io.FileReaderAndWriter

Bug Category Details Line Priority
Found reliance on default encoding in com.irurueta.geometry.io.FileReaderAndWriter.readUntilAnyOfTheseCharactersIsFound(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 628 High

com.irurueta.geometry.io.HeaderPLY

Bug Category Details Line Priority
com.irurueta.geometry.io.HeaderPLY.getComments() may expose internal representation by returning HeaderPLY.comments MALICIOUS_CODE EI_EXPOSE_REP 92 Medium
com.irurueta.geometry.io.HeaderPLY.getElements() may expose internal representation by returning HeaderPLY.elements MALICIOUS_CODE EI_EXPOSE_REP 82 Medium
com.irurueta.geometry.io.HeaderPLY.getObjInfos() may expose internal representation by returning HeaderPLY.objInfos MALICIOUS_CODE EI_EXPOSE_REP 101 Medium

com.irurueta.geometry.io.Loader

Bug Category Details Line Priority
This write of the 64-bit primitive variable "fileSizeLimitToKeepInMemory" may not be atomic MT_CORRECTNESS AT_NONATOMIC_64BIT_PRIMITIVE 149 Medium

com.irurueta.geometry.io.LoaderBinary

Bug Category Details Line Priority
com.irurueta.geometry.io.LoaderBinary.load() may expose internal representation by returning LoaderBinary.loaderIterator MALICIOUS_CODE EI_EXPOSE_REP 261 Medium

com.irurueta.geometry.io.LoaderOBJ

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 160 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 182 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 207 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 334 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(LoaderListener, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 360 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(LoaderListener, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 388 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 244 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 270 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 298 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 429 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, LoaderListener, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 457 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ at new com.irurueta.geometry.io.LoaderOBJ(File, LoaderListener, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 487 Medium
com.irurueta.geometry.io.LoaderOBJ.getMaterials() may expose internal representation by returning LoaderOBJ.materials MALICIOUS_CODE EI_EXPOSE_REP 625 Medium
com.irurueta.geometry.io.LoaderOBJ.load() may expose internal representation by returning LoaderOBJ.loaderIterator MALICIOUS_CODE EI_EXPOSE_REP 695 Medium

com.irurueta.geometry.io.LoaderOBJ$LoaderIteratorOBJ

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderOBJ$LoaderIteratorOBJ at new com.irurueta.geometry.io.LoaderOBJ$LoaderIteratorOBJ(LoaderOBJ, LoaderOBJ) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 1198 Medium

com.irurueta.geometry.io.LoaderPLY

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 179 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 200 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 225 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 352 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(LoaderListener, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 376 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(LoaderListener, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 403 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 263 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 287 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 314 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 443 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, LoaderListener, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 468 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderPLY at new com.irurueta.geometry.io.LoaderPLY(File, LoaderListener, int, boolean, long) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 496 Medium
com.irurueta.geometry.io.LoaderPLY.load() may expose internal representation by returning LoaderPLY.loaderIterator MALICIOUS_CODE EI_EXPOSE_REP 668 Medium

com.irurueta.geometry.io.LoaderPLY$LoaderIteratorPLY

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderPLY$LoaderIteratorPLY at new com.irurueta.geometry.io.LoaderPLY$LoaderIteratorPLY(LoaderPLY, LoaderPLY) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 1403 Medium

com.irurueta.geometry.io.LoaderSTL

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderSTL at new com.irurueta.geometry.io.LoaderSTL(int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 63 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderSTL at new com.irurueta.geometry.io.LoaderSTL(LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 120 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderSTL at new com.irurueta.geometry.io.LoaderSTL(File, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 92 Medium
Exception thrown in class com.irurueta.geometry.io.LoaderSTL at new com.irurueta.geometry.io.LoaderSTL(File, LoaderListener, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 153 Medium
com.irurueta.geometry.io.LoaderSTL.load() may expose internal representation by returning LoaderSTL.loaderIterator MALICIOUS_CODE EI_EXPOSE_REP 250 Medium

com.irurueta.geometry.io.LoaderSTL$LoaderIteratorSTL

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.LoaderSTL$LoaderIteratorSTL at new com.irurueta.geometry.io.LoaderSTL$LoaderIteratorSTL(LoaderSTL, LoaderSTL) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 564 Medium
Found reliance on default encoding in com.irurueta.geometry.io.LoaderSTL$LoaderIteratorSTL.setUp(): new String(byte[]) I18N DM_DEFAULT_ENCODING 986 High

com.irurueta.geometry.io.MappedFileReaderAndWriter

Bug Category Details Line Priority
Exception thrown in class com.irurueta.geometry.io.MappedFileReaderAndWriter at new com.irurueta.geometry.io.MappedFileReaderAndWriter(File, FileChannel$MapMode) 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
Found reliance on default encoding in com.irurueta.geometry.io.MappedFileReaderAndWriter.readUntilAnyOfTheseCharactersIsFound(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 634 High

com.irurueta.geometry.io.Material

Bug Category Details Line Priority
com.irurueta.geometry.io.Material.getAlphaTextureMap() may expose internal representation by returning Material.alphaTextureMap MALICIOUS_CODE EI_EXPOSE_REP 642 Medium
com.irurueta.geometry.io.Material.getAmbientTextureMap() may expose internal representation by returning Material.ambientTextureMap MALICIOUS_CODE EI_EXPOSE_REP 547 Medium
com.irurueta.geometry.io.Material.getBumpTextureMap() may expose internal representation by returning Material.bumpTextureMap MALICIOUS_CODE EI_EXPOSE_REP 673 Medium
com.irurueta.geometry.io.Material.getDiffuseTextureMap() may expose internal representation by returning Material.diffuseTextureMap MALICIOUS_CODE EI_EXPOSE_REP 579 Medium
com.irurueta.geometry.io.Material.getSpecularTextureMap() may expose internal representation by returning Material.specularTextureMap MALICIOUS_CODE EI_EXPOSE_REP 611 Medium
com.irurueta.geometry.io.Material.setAlphaTextureMap(Texture) may expose internal representation by storing an externally mutable object into Material.alphaTextureMap MALICIOUS_CODE EI_EXPOSE_REP2 652 Medium
com.irurueta.geometry.io.Material.setAmbientTextureMap(Texture) may expose internal representation by storing an externally mutable object into Material.ambientTextureMap MALICIOUS_CODE EI_EXPOSE_REP2 558 Medium
com.irurueta.geometry.io.Material.setBumpTextureMap(Texture) may expose internal representation by storing an externally mutable object into Material.bumpTextureMap MALICIOUS_CODE EI_EXPOSE_REP2 684 Medium
com.irurueta.geometry.io.Material.setDiffuseTextureMap(Texture) may expose internal representation by storing an externally mutable object into Material.diffuseTextureMap MALICIOUS_CODE EI_EXPOSE_REP2 590 Medium
com.irurueta.geometry.io.Material.setSpecularTextureMap(Texture) may expose internal representation by storing an externally mutable object into Material.specularTextureMap MALICIOUS_CODE EI_EXPOSE_REP2 622 Medium

com.irurueta.geometry.io.MaterialLoader

Bug Category Details Line Priority
This write of the 64-bit primitive variable "fileSizeLimitToKeepInMemory" may not be atomic MT_CORRECTNESS AT_NONATOMIC_64BIT_PRIMITIVE 165 Medium
Shared primitive variable "textureValidationEnabled" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 236 Medium
Unread public/protected field: com.irurueta.geometry.io.MaterialLoader.file STYLE URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD 95 Medium

com.irurueta.geometry.io.MaterialLoaderOBJ

Bug Category Details Line Priority
com.irurueta.geometry.io.MaterialLoaderOBJ.getMaterials() may expose internal representation by returning MaterialLoaderOBJ.materials MALICIOUS_CODE EI_EXPOSE_REP 322 Medium
com.irurueta.geometry.io.MaterialLoaderOBJ.load() may expose internal representation by returning MaterialLoaderOBJ.materials MALICIOUS_CODE EI_EXPOSE_REP 148 Medium
Exception is caught when Exception is not thrown in com.irurueta.geometry.io.MaterialLoaderOBJ.parseLine(String) STYLE REC_CATCH_EXCEPTION 302 Medium

com.irurueta.geometry.io.MeshWriter

Bug Category Details Line Priority
com.irurueta.geometry.io.MeshWriter.getStream() may expose internal representation by returning MeshWriter.stream MALICIOUS_CODE EI_EXPOSE_REP 109 Medium

com.irurueta.geometry.io.MeshWriterJson

Bug Category Details Line Priority
Found reliance on default encoding in com.irurueta.geometry.io.MeshWriterJson.write(): new java.io.OutputStreamWriter(OutputStream) I18N DM_DEFAULT_ENCODING 248 High

com.irurueta.geometry.io.VertexOBJ

Bug Category Details Line Priority
com.irurueta.geometry.io.VertexOBJ.getVertex() may expose internal representation by returning VertexOBJ.vertex MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
com.irurueta.geometry.io.VertexOBJ.setVertex(Point3D) may expose internal representation by storing an externally mutable object into VertexOBJ.vertex MALICIOUS_CODE EI_EXPOSE_REP2 70 Medium