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)

Reply via email to