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

`NullPointerException` when intersecting area with null clipping path

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.24
    • 2.0.25, 3.0.0 PDFBox
    • Rendering
    • None

    Description

      Hey guys!

      We got a PDF that manages to trigger the following NPE from PageDrawer:

       

       
      java.lang.NullPointerException: null
       at java.desktop/java.awt.geom.Area.<init>(Area.java:126)
       at org.apache.pdfbox.rendering.PageDrawer.fillPath(PageDrawer.java:900)
       at org.apache.pdfbox.contentstream.operator.graphics.FillNonZeroRule.process(FillNonZeroRule.java:37)
       at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:933)
       
      

       

      The file even breaks on pdf-debugger (it fails to render).
       
      Unfortunately, I can’t share the file.

      Looking at the documentation for Graphics.getClip(), it mentions that the result can be null, and if null is passed to the Area constructor this ends up in a NullPointerException. Further studying the PageDrawer code, it seems that graphics.getClip() shouldn't return null, however, we proposed a small fix in the following PR that seems to do the trick:

      https://github.com/apache/pdfbox/pull/133

      Attachments

        1. evil.pdf
          246 kB
          Henry Iguaro

        Activity

          People

            tilman Tilman Hausherr
            tyrannosaurus Henry Iguaro
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: