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
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 |
