SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.5.3
Threshold is medium
Effort is default
Summary
| Classes |
Bugs |
Errors |
Missing Classes |
| 266 |
75 |
0 |
0 |
org.apache.any23.ExtractionReport
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.ExtractionReport.getMatchingExtractors() may expose internal representation by returning ExtractionReport.matchingExtractors |
MALICIOUS_CODE |
EI_EXPOSE_REP |
77 |
Medium |
org.apache.any23.extractor.ExtractionResultImpl
| Bug |
Category |
Details |
Line |
Priority |
| Format string should use %n rather than \n in org.apache.any23.extractor.ExtractionResultImpl.printReport(PrintStream) |
BAD_PRACTICE |
VA_FORMAT_STRING_USES_NEWLINE |
122 |
Medium |
org.apache.any23.extractor.SimpleExtractorFactory
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.SimpleExtractorFactory.getPrefixes() may expose internal representation by returning SimpleExtractorFactory.prefixes |
MALICIOUS_CODE |
EI_EXPOSE_REP |
78 |
Medium |
| org.apache.any23.extractor.SimpleExtractorFactory.getSupportedMIMETypes() may expose internal representation by returning SimpleExtractorFactory.supportedMIMETypes |
MALICIOUS_CODE |
EI_EXPOSE_REP |
86 |
Medium |
org.apache.any23.extractor.SingleDocumentExtractionReport
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.SingleDocumentExtractionReport.getExtractorToIssues() may expose internal representation by returning SingleDocumentExtractionReport.extractorToIssues |
MALICIOUS_CODE |
EI_EXPOSE_REP |
53 |
Medium |
| new org.apache.any23.extractor.SingleDocumentExtractionReport(ValidationReport, Map) may expose internal representation by storing an externally mutable object into SingleDocumentExtractionReport.extractorToIssues |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
45 |
Medium |
org.apache.any23.extractor.TagSoupExtractionResult$PropertyPath
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.TagSoupExtractionResult$PropertyPath.getPath() may expose internal representation by returning TagSoupExtractionResult$PropertyPath.path |
MALICIOUS_CODE |
EI_EXPOSE_REP |
156 |
Medium |
| new org.apache.any23.extractor.TagSoupExtractionResult$PropertyPath(String[], Resource, Resource, BNode, Class) may expose internal representation by storing an externally mutable object into TagSoupExtractionResult$PropertyPath.path |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
148 |
Medium |
org.apache.any23.extractor.TagSoupExtractionResult$ResourceRoot
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.TagSoupExtractionResult$ResourceRoot.getPath() may expose internal representation by returning TagSoupExtractionResult$ResourceRoot.path |
MALICIOUS_CODE |
EI_EXPOSE_REP |
105 |
Medium |
| new org.apache.any23.extractor.TagSoupExtractionResult$ResourceRoot(String[], Resource, Class) may expose internal representation by storing an externally mutable object into TagSoupExtractionResult$ResourceRoot.path |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
99 |
Medium |
org.apache.any23.extractor.html.AdrExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to extractorName in org.apache.any23.extractor.html.AdrExtractor.extractEntity(Node, ExtractionResult) |
STYLE |
DLS_DEAD_LOCAL_STORE |
56 |
Medium |
org.apache.any23.extractor.html.DocumentReport
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.DocumentReport.getDocument() may expose internal representation by returning DocumentReport.document |
MALICIOUS_CODE |
EI_EXPOSE_REP |
45 |
Medium |
| new org.apache.any23.extractor.html.DocumentReport(ValidationReport, Document) may expose internal representation by storing an externally mutable object into DocumentReport.document |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
37 |
Medium |
org.apache.any23.extractor.html.EmbeddedJSONLDExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Return value of org.apache.any23.extractor.ExtractionContext.getDocumentIRI() ignored, but method has no side effect |
STYLE |
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT |
78 |
Medium |
| Unread field: org.apache.any23.extractor.html.EmbeddedJSONLDExtractor.documentLang |
PERFORMANCE |
URF_UNREAD_FIELD |
70 |
Medium |
org.apache.any23.extractor.html.HCardName
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.HCardName.FIELDS should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
47 |
Medium |
org.apache.any23.extractor.html.HListingExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to extractorName in org.apache.any23.extractor.html.HListingExtractor.addItemAddresses(HTMLDocument, Resource) |
STYLE |
DLS_DEAD_LOCAL_STORE |
124 |
Medium |
org.apache.any23.extractor.html.HTMLDocument
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.HTMLDocument.getDocument() may expose internal representation by returning HTMLDocument.document |
MALICIOUS_CODE |
EI_EXPOSE_REP |
289 |
Medium |
| new org.apache.any23.extractor.html.HTMLDocument(Node) may expose internal representation by storing an externally mutable object into HTMLDocument.document |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
238 |
Medium |
org.apache.any23.extractor.html.HTMLDocument$TextField
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.HTMLDocument$TextField.source() may expose internal representation by returning HTMLDocument$TextField.source |
MALICIOUS_CODE |
EI_EXPOSE_REP |
496 |
Medium |
| new org.apache.any23.extractor.html.HTMLDocument$TextField(String, Node) may expose internal representation by storing an externally mutable object into HTMLDocument$TextField.source |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
488 |
Medium |
org.apache.any23.extractor.html.MicroformatExtractor
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.MicroformatExtractor.run(ExtractionParameters, ExtractionContext, Document, ExtractionResult) may expose internal representation by storing an externally mutable object into MicroformatExtractor.out |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
96 |
Medium |
org.apache.any23.extractor.html.TagSoupParser
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.TagSoupParser.getDOM() may expose internal representation by returning TagSoupParser.result |
MALICIOUS_CODE |
EI_EXPOSE_REP |
106 |
Medium |
org.apache.any23.extractor.html.XFNExtractor
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.html.XFNExtractor.run(ExtractionParameters, ExtractionContext, Document, ExtractionResult) may expose internal representation by storing an externally mutable object into XFNExtractor.out |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
66 |
Medium |
org.apache.any23.extractor.html.microformats2.HAdrExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to extractorName in org.apache.any23.extractor.html.microformats2.HAdrExtractor.extractEntity(Node, ExtractionResult) |
STYLE |
DLS_DEAD_LOCAL_STORE |
63 |
Medium |
org.apache.any23.extractor.html.microformats2.HGeoExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to extractorName in org.apache.any23.extractor.html.microformats2.HGeoExtractor.extractEntity(Node, ExtractionResult) |
STYLE |
DLS_DEAD_LOCAL_STORE |
63 |
Medium |
org.apache.any23.extractor.html.microformats2.HItemExtractor
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to extractorName in org.apache.any23.extractor.html.microformats2.HItemExtractor.extractEntity(Node, ExtractionResult) |
STYLE |
DLS_DEAD_LOCAL_STORE |
63 |
Medium |
org.apache.any23.extractor.microdata.ItemScope
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.microdata.ItemScope.getProperties() may expose internal representation by returning ItemScope.properties |
MALICIOUS_CODE |
EI_EXPOSE_REP |
149 |
Medium |
| org.apache.any23.extractor.microdata.ItemScope.getRefs() may expose internal representation by returning ItemScope.refs |
MALICIOUS_CODE |
EI_EXPOSE_REP |
163 |
Medium |
org.apache.any23.extractor.microdata.MicrodataParser
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.extractor.microdata.MicrodataParser(Document) may expose internal representation by storing an externally mutable object into MicrodataParser.document |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
120 |
Medium |
org.apache.any23.extractor.microdata.MicrodataParserReport
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.microdata.MicrodataParserReport.getDetectedItemScopes() may expose internal representation by returning MicrodataParserReport.detectedItemScopes |
MALICIOUS_CODE |
EI_EXPOSE_REP |
47 |
Medium |
| org.apache.any23.extractor.microdata.MicrodataParserReport.getErrors() may expose internal representation by returning MicrodataParserReport.errors |
MALICIOUS_CODE |
EI_EXPOSE_REP |
51 |
Medium |
| new org.apache.any23.extractor.microdata.MicrodataParserReport(ItemScope[], MicrodataParserException[]) may expose internal representation by storing an externally mutable object into MicrodataParserReport.detectedItemScopes |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
38 |
Medium |
org.apache.any23.extractor.rdf.RDFHandlerAdapter
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.extractor.rdf.RDFHandlerAdapter(ExtractionResult) may expose internal representation by storing an externally mutable object into RDFHandlerAdapter.target |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
38 |
Medium |
org.apache.any23.extractor.rdfa.RDFa11Parser
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.rdfa.RDFa11Parser.SUBJECT_ATTRIBUTES should be package protected |
MALICIOUS_CODE |
MS_PKGPROTECT |
84 |
Medium |
| Redundant nullcheck of org.apache.any23.extractor.rdfa.RDFa11Parser$EvaluationContext.newSubject, which is known to be non-null in org.apache.any23.extractor.rdfa.RDFa11Parser.processNode(Node, ExtractionResult) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
635 |
Medium |
| Exception is caught when Exception is not thrown in org.apache.any23.extractor.rdfa.RDFa11Parser.processNode(Node, ExtractionResult) |
STYLE |
REC_CATCH_EXCEPTION |
641 |
Medium |
org.apache.any23.extractor.rdfa.XSLTStylesheet
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.rdfa.XSLTStylesheet.applyTo(Document, Writer, Map) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
88 |
Medium |
org.apache.any23.extractor.yaml.ElementsProcessor$ModelHolder
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.extractor.yaml.ElementsProcessor$ModelHolder.getModel() may expose internal representation by returning ElementsProcessor$ModelHolder.model |
MALICIOUS_CODE |
EI_EXPOSE_REP |
83 |
Medium |
| new org.apache.any23.extractor.yaml.ElementsProcessor$ModelHolder(Value, Model) may expose internal representation by storing an externally mutable object into ElementsProcessor$ModelHolder.model |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
75 |
Medium |
org.apache.any23.filter.ExtractionContextBlocker
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.filter.ExtractionContextBlocker(TripleHandler) may expose internal representation by storing an externally mutable object into ExtractionContextBlocker.wrapped |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
50 |
Medium |
org.apache.any23.http.AcceptHeaderBuilder
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.http.AcceptHeaderBuilder(Collection) may expose internal representation by storing an externally mutable object into AcceptHeaderBuilder.mimeTypes |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
56 |
Medium |
org.apache.any23.rdf.PopularPrefixes
| Bug |
Category |
Details |
Line |
Priority |
| Public static org.apache.any23.rdf.PopularPrefixes.get() may expose internal representation by returning PopularPrefixes.popularPrefixes |
MALICIOUS_CODE |
MS_EXPOSE_REP |
81 |
Medium |
org.apache.any23.source.ByteArrayDocumentSource
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.source.ByteArrayDocumentSource(byte[], String, String) may expose internal representation by storing an externally mutable object into ByteArrayDocumentSource.bytes |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
38 |
Medium |
org.apache.any23.util.DiscoveryUtils
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.any23.util.DiscoveryUtils.findClassesInDir(File, String) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
190 |
Medium |
| org.apache.any23.util.DiscoveryUtils.findClassesInJAR(String) may fail to close stream |
BAD_PRACTICE |
OS_OPEN_STREAM |
144 |
Medium |
org.apache.any23.util.FileUtils
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.any23.util.FileUtils.visitFilesRecursively(File, FilenameFilter, List) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
259 |
Medium |
org.apache.any23.util.StreamUtils
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to $L5 in org.apache.any23.util.StreamUtils.inputStreamToDocument(InputStream) |
STYLE |
DLS_DEAD_LOCAL_STORE |
195 |
Medium |
| Possible null pointer dereference of builder in org.apache.any23.util.StreamUtils.inputStreamToDocument(InputStream) on exception path |
CORRECTNESS |
NP_NULL_ON_SOME_PATH_EXCEPTION |
197 |
Medium |
org.apache.any23.validator.DefaultDOMDocument
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.validator.DefaultDOMDocument.getOriginalDocument() may expose internal representation by returning DefaultDOMDocument.document |
MALICIOUS_CODE |
EI_EXPOSE_REP |
58 |
Medium |
| new org.apache.any23.validator.DefaultDOMDocument(URI, Document) may expose internal representation by storing an externally mutable object into DefaultDOMDocument.document |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
50 |
Medium |
org.apache.any23.validator.DefaultValidationReport
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.validator.DefaultValidationReport.getErrors() may expose internal representation by returning DefaultValidationReport.errors |
MALICIOUS_CODE |
EI_EXPOSE_REP |
49 |
Medium |
| org.apache.any23.validator.DefaultValidationReport.getIssues() may expose internal representation by returning DefaultValidationReport.issues |
MALICIOUS_CODE |
EI_EXPOSE_REP |
41 |
Medium |
| org.apache.any23.validator.DefaultValidationReport.getRuleActivations() may expose internal representation by returning DefaultValidationReport.ruleActivations |
MALICIOUS_CODE |
EI_EXPOSE_REP |
45 |
Medium |
| new org.apache.any23.validator.DefaultValidationReport(List, List, List) may expose internal representation by storing an externally mutable object into DefaultValidationReport.errors |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
37 |
Medium |
| new org.apache.any23.validator.DefaultValidationReport(List, List, List) may expose internal representation by storing an externally mutable object into DefaultValidationReport.issues |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
35 |
Medium |
| new org.apache.any23.validator.DefaultValidationReport(List, List, List) may expose internal representation by storing an externally mutable object into DefaultValidationReport.ruleActivations |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
36 |
Medium |
org.apache.any23.validator.DefaultValidationReportBuilder
| Bug |
Category |
Details |
Line |
Priority |
| Null passed for non-null parameter of reportIssue(ValidationReport$IssueLevel, String, Node) in org.apache.any23.validator.DefaultValidationReportBuilder.reportIssue(ValidationReport$IssueLevel, String) |
CORRECTNESS |
NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS |
56 |
Medium |
org.apache.any23.validator.ValidationReport$Error
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.validator.ValidationReport$Error.getCause() may expose internal representation by returning ValidationReport$Error.cause |
MALICIOUS_CODE |
EI_EXPOSE_REP |
165 |
Medium |
| new org.apache.any23.validator.ValidationReport$Error(Exception, String) may expose internal representation by storing an externally mutable object into ValidationReport$Error.cause |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
160 |
Medium |
org.apache.any23.validator.ValidationReport$FixError
| Bug |
Category |
Details |
Line |
Priority |
| Class org.apache.any23.validator.ValidationReport$FixError defines non-transient non-serializable instance field origin |
BAD_PRACTICE |
SE_BAD_FIELD |
|
Medium |
org.apache.any23.validator.ValidationReport$Issue
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.validator.ValidationReport$Issue.getOrigin() may expose internal representation by returning ValidationReport$Issue.origin |
MALICIOUS_CODE |
EI_EXPOSE_REP |
104 |
Medium |
| new org.apache.any23.validator.ValidationReport$Issue(ValidationReport$IssueLevel, String, Node) may expose internal representation by storing an externally mutable object into ValidationReport$Issue.origin |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
92 |
Medium |
| The field org.apache.any23.validator.ValidationReport$Issue.origin is transient but isn't set by deserialization |
BAD_PRACTICE |
SE_TRANSIENT_FIELD_NOT_RESTORED |
|
Medium |
org.apache.any23.validator.ValidationReport$RuleError
| Bug |
Category |
Details |
Line |
Priority |
| Class org.apache.any23.validator.ValidationReport$RuleError defines non-transient non-serializable instance field origin |
BAD_PRACTICE |
SE_BAD_FIELD |
|
Medium |
org.apache.any23.validator.XMLValidationReportSerializer
| Bug |
Category |
Details |
Line |
Priority |
| Impossible cast from reflect.Array to Object[] in org.apache.any23.validator.XMLValidationReportSerializer.printObject(Object, PrintStream) |
CORRECTNESS |
BC_IMPOSSIBLE_CAST |
142 |
High |
org.apache.any23.validator.rule.MissingItemscopeAttributeValueFix
| Bug |
Category |
Details |
Line |
Priority |
| Comparison of String objects using == or != in org.apache.any23.validator.rule.MissingItemscopeAttributeValueFix.execute(Rule, RuleContext, DOMDocument) |
BAD_PRACTICE |
ES_COMPARING_STRINGS_WITH_EQ |
56 |
Medium |
org.apache.any23.writer.BenchmarkTripleHandler
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.writer.BenchmarkTripleHandler(TripleHandler) may expose internal representation by storing an externally mutable object into BenchmarkTripleHandler.underlyingHandler |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
55 |
Medium |
org.apache.any23.writer.CompositeTripleHandler
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.writer.CompositeTripleHandler.getChilds() may expose internal representation by returning CompositeTripleHandler.children |
MALICIOUS_CODE |
EI_EXPOSE_REP |
67 |
Medium |
org.apache.any23.writer.CountingTripleHandler
| Bug |
Category |
Details |
Line |
Priority |
| Format string should use %n rather than \n in org.apache.any23.writer.CountingTripleHandler.receiveTriple(Resource, IRI, Value, IRI, ExtractionContext) |
BAD_PRACTICE |
VA_FORMAT_STRING_USES_NEWLINE |
75 |
Medium |
org.apache.any23.writer.LoggingTripleHandler
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.writer.LoggingTripleHandler(TripleHandler, PrintWriter) may expose internal representation by storing an externally mutable object into LoggingTripleHandler.destination |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
56 |
Medium |
| new org.apache.any23.writer.LoggingTripleHandler(TripleHandler, PrintWriter) may expose internal representation by storing an externally mutable object into LoggingTripleHandler.underlyingHandler |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
55 |
Medium |
org.apache.any23.writer.ReportingTripleHandler
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.any23.writer.ReportingTripleHandler.getExtractorNames() may expose internal representation by returning ReportingTripleHandler.extractorNames |
MALICIOUS_CODE |
EI_EXPOSE_REP |
52 |
Medium |
| new org.apache.any23.writer.ReportingTripleHandler(TripleHandler) may expose internal representation by storing an externally mutable object into ReportingTripleHandler.wrapped |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
48 |
Medium |
org.apache.any23.writer.RepositoryWriter
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.any23.writer.RepositoryWriter(RepositoryConnection, Resource) may expose internal representation by storing an externally mutable object into RepositoryWriter.conn |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
44 |
Medium |