Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-5755

NullPointerException in CmapSubtable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Not A Problem
    • 2.0.28
    • None
    • FontBox
    • None

    Description

      Hi,

      there was a NPE in getCharCode method of CmapSubtable:

      java.lang.NullPointerException: Cannot read the array length because "this.glyphIdToCharacterCode" is null
      	at org.apache.fontbox.ttf.CmapSubtable.getCharCode(CmapSubtable.java:669)
      	at org.apache.fontbox.ttf.CmapSubtable.getCharCodes(CmapSubtable.java:686)
      	at org.apache.pdfbox.pdmodel.font.PDType0Font.toUnicode(PDType0Font.java:533)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:838)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:776)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.showTextStrings(PDFStreamEngine.java:681)
      	at org.apache.pdfbox.contentstream.operator.text.ShowTextAdjusted.process(ShowTextAdjusted.java:53)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:966)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:541)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:516)
      	at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
      	at org.apache.pdfbox.text.LegacyPDFStreamEngine.processPage(LegacyPDFStreamEngine.java:155)
      	at org.apache.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:363)
      	at org.apache.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:291)
      	at org.apache.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:238)
      	at org.apache.pdfbox.text.PDFTextStripper.getText(PDFTextStripper.java:202)

      Unfortunately I cannot provide pdf for privacy reason (and I don't have it anyway), Looking at the code, it suggests that even if the glyphIdToCharacterCode is null, it's still possible that glyphIdToCharacerCode.length gets evaluated

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mstefan Michal Stefan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: