SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.3

Threshold is medium

Effort is max

Summary

Classes Bugs Errors Missing Classes
11 62 0 3

Files

Class Bugs
com.github.hazendaz.maven.htmlcompressor_maven_plugin.HelpMojo 1
com.tunyk.mvn.plugins.htmlcompressor.FileTool 9
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor 4
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo 39
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor 4
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo 5

com.github.hazendaz.maven.htmlcompressor_maven_plugin.HelpMojo

Bug Category Details Line Priority
The use of DocumentBuilder.parse(...) (DocumentBuilder) is vulnerable to XML External Entity attacks SECURITY XXE_DOCUMENT 77 Medium

com.tunyk.mvn.plugins.htmlcompressor.FileTool

Bug Category Details Line Priority
Exception thrown in class com.tunyk.mvn.plugins.htmlcompressor.FileTool at new com.tunyk.mvn.plugins.htmlcompressor.FileTool(String, String[], boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 66 Medium
com.tunyk.mvn.plugins.htmlcompressor.FileTool.getFileExtensions() may expose internal representation by returning FileTool.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP 223 Medium
new com.tunyk.mvn.plugins.htmlcompressor.FileTool(String, String[], boolean) may expose internal representation by storing an externally mutable object into FileTool.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 67 Medium
com.tunyk.mvn.plugins.htmlcompressor.FileTool.setFileExtensions(String[]) may expose internal representation by storing an externally mutable object into FileTool.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 233 Medium
Possible null pointer dereference in com.tunyk.mvn.plugins.htmlcompressor.FileTool.writeFiles(Map, String) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 115 Medium
Possible null pointer dereference in com.tunyk.mvn.plugins.htmlcompressor.FileTool.writeToJsonFile(Map, String, String) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 150 Medium
Constructor new com.tunyk.mvn.plugins.htmlcompressor.FileTool(String, String[], boolean) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 66 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.FileTool.getFiles() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 90 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.FileTool.setRootDirPath(String) passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 214 Medium

com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor

Bug Category Details Line Priority
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor.getFileExtensions() may expose internal representation by returning HtmlCompressor.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP 130 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor.getHtmlCompressor() may expose internal representation by returning HtmlCompressor.htmlCompressor MALICIOUS_CODE EI_EXPOSE_REP 263 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor.setFileExtensions(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressor.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 140 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressor.setHtmlCompressor(HtmlCompressor) may expose internal representation by storing an externally mutable object into HtmlCompressor.htmlCompressor MALICIOUS_CODE EI_EXPOSE_REP2 273 Medium

com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo

Bug Category Details Line Priority
Do not catch NullPointerException like in com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() STYLE DCN_NULLPOINTER_EXCEPTION 384 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getClosureExterns() may expose internal representation by returning HtmlCompressorMojo.closureExterns MALICIOUS_CODE EI_EXPOSE_REP 1211 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getFileExt() may expose internal representation by returning HtmlCompressorMojo.fileExt MALICIOUS_CODE EI_EXPOSE_REP 486 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getFileExtensions() may expose internal representation by returning HtmlCompressorMojo.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP 508 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getPredefinedPreservePatterns() may expose internal representation by returning HtmlCompressorMojo.predefinedPreservePatterns MALICIOUS_CODE EI_EXPOSE_REP 1002 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getPreservePatternFiles() may expose internal representation by returning HtmlCompressorMojo.preservePatternFiles MALICIOUS_CODE EI_EXPOSE_REP 1040 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.getPreservePatterns() may expose internal representation by returning HtmlCompressorMojo.preservePatterns MALICIOUS_CODE EI_EXPOSE_REP 1021 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setClosureExterns(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.closureExterns MALICIOUS_CODE EI_EXPOSE_REP2 1221 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setFileExt(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.fileExt MALICIOUS_CODE EI_EXPOSE_REP2 499 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setFileExtensions(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 518 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setPredefinedPreservePatterns(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.predefinedPreservePatterns MALICIOUS_CODE EI_EXPOSE_REP2 1012 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setPreservePatternFiles(File[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.preservePatternFiles MALICIOUS_CODE EI_EXPOSE_REP2 1050 Medium
com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.setPreservePatterns(String[]) may expose internal representation by storing an externally mutable object into HtmlCompressorMojo.preservePatterns MALICIOUS_CODE EI_EXPOSE_REP2 1031 Medium
Class com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo defines fields that are used only as locals CORRECTNESS FCBL_FIELD_COULD_BE_LOCAL Not available Medium
Class com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo defines fields that are used only as locals CORRECTNESS FCBL_FIELD_COULD_BE_LOCAL Not available Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 350 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 365 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 375 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 452 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 306 High
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 309 High
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 320 High
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 334 High
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 337 High
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() creates Boxed primitive from primitive only to get primitive value PERFORMANCE NAB_NEEDLESS_BOX_TO_UNBOX 419 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() creates Boxed primitive from primitive only to get primitive value PERFORMANCE NAB_NEEDLESS_BOX_TO_UNBOX 420 Medium
Possible null pointer dereference in com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 449 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() does not presize the allocation of a collection PERFORMANCE PSC_PRESIZE_COLLECTIONS 315 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 427 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 428 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 429 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 430 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 432 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 434 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 436 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 438 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 439 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 443 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.HtmlCompressorMojo.execute() passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 444 Medium

com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor

Bug Category Details Line Priority
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor.getFileExtensions() may expose internal representation by returning XmlCompressor.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP 90 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor.getXmlCompressor() may expose internal representation by returning XmlCompressor.xmlCompressor MALICIOUS_CODE EI_EXPOSE_REP 166 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor.setFileExtensions(String[]) may expose internal representation by storing an externally mutable object into XmlCompressor.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 100 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressor.setXmlCompressor(XmlCompressor) may expose internal representation by storing an externally mutable object into XmlCompressor.xmlCompressor MALICIOUS_CODE EI_EXPOSE_REP2 176 Medium

com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo

Bug Category Details Line Priority
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo.getFileExt() may expose internal representation by returning XmlCompressorMojo.fileExt MALICIOUS_CODE EI_EXPOSE_REP 124 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo.getFileExtensions() may expose internal representation by returning XmlCompressorMojo.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP 146 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo.setFileExt(String[]) may expose internal representation by storing an externally mutable object into XmlCompressorMojo.fileExt MALICIOUS_CODE EI_EXPOSE_REP2 137 Medium
com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo.setFileExtensions(String[]) may expose internal representation by storing an externally mutable object into XmlCompressorMojo.fileExtensions MALICIOUS_CODE EI_EXPOSE_REP2 156 Medium
Method com.tunyk.mvn.plugins.htmlcompressor.XmlCompressorMojo.execute() throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 109 Medium