AppChecker created TIKA-2392:
--------------------------------
Summary: Possible bugs in the source code
Key: TIKA-2392
URL: https://issues.apache.org/jira/browse/TIKA-2392
Project: Tika
Issue Type: Bug
Components: core, gui, parser
Affects Versions: 1.15
Reporter: AppChecker
Hi!
I've checked your project with static analyzer
[AppChecker|https://npo-echelon.ru/en/solutions/appchecker.php] and it found
several suspicious fragments:
1)
[tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java|https://github.com/apache/tika/blob/9130bbc1fa6d69419b2ad294917260d6b1cced08/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java#L72]
{code:java}
if (element != null && element.getTagName().equals(EXTERNAL_PARSERS_TAG)) {
...
} else {
throw new MimeTypeException(
...
+ element.getTagName());
}
{code}
if element is null, code element.getTagName() will be executed, so NPE will be
throw.
2)
[tika-parsers/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java#L65-L68|https://github.com/apache/tika/blob/19348811a9ff9e89cb309334cfba010a62b72600/tika-parsers/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java#L65-L68]
{code:java}
} else if (c == 129) {
out.append('\u00A0'); // Hard space
} else if (c == 129) {
out.append('-'); // Hard hyphen
{code}
(c == 129) is checked twice.
3)
[tika-parsers/src/main/java/org/apache/tika/parser/audio/MidiParser.java|https://github.com/apache/tika/blob/4cc15e2a3f813dce8001c1eb4aae712b05c557d4/tika-parsers/src/main/java/org/apache/tika/parser/audio/MidiParser.java#L85]
{code:java}
} else if (type == Sequence.SMPTE_24) {
metadata.set("divisionType", "SMPTE_24");
}
...
} else if (type == Sequence.SMPTE_24) {
metadata.set("divisionType", String.valueOf(type));
}
{code}
(type == Sequence.SMPTE_24) is checked twice.
4)
[tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java#L398|https://github.com/apache/tika/blob/0aaa1215fd11632c349e9bdebac9829578276cb1/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java#L398]
{code:java}
if (!colorspace.equals(null)) {
{code}
if colorspace is null you will get NullPointerException.
Same:
[tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java#L417|https://github.com/apache/tika/blob/0aaa1215fd11632c349e9bdebac9829578276cb1/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java#L417]
{code:java}
if (filter.equals(null)) {
{code}
5)
[tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java#L640|https://github.com/apache/tika/blob/9130bbc1fa6d69419b2ad294917260d6b1cced08/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java#L640]
{code:java}
if (splitAt > 0) {
embeddedName.substring(splitAt);
}
{code}
embeddedName is not changed, because java.lang.String.substring returns new
string.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)