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

SecurityHandlersManager May stop the application Server when running PDFParser in a Servlet.

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.1.0
    • 1.8.6
    • PDModel
    • None

    Description

      When parsing a PDF document within an Application Server, you should never have a code path which call System.exit()
      I am not sure what invokes the Class org.apache.pdfbox.pdmodel.encryption.SecurityHandlersManager() from with the code, so I have not a clue how to fix this.

      I imagine that the best place to notify PDFBox that it is running in an application would be something like this.

      PDDocument.setApplication(true or false);

      I would like to be able to tell the Parser that it is not running as an application so this code is never hit, but I did not see a way to do this.

      catch(Exception e)

      { System.err.println("SecurityHandlersManager strange error with builtin handlers: " + e.getMessage()); System.exit(1); }

      Bug: new org.apache.pdfbox.pdmodel.encryption.SecurityHandlersManager() invokes System.exit(...), which shuts down the entire virtual machine
      Pattern id: DM_EXIT, type: Dm, category: BAD_PRACTICE

      Invoking System.exit shuts down the entire Java virtual machine. This should only been done when it is appropriate. Such calls make it hard or impossible for your code to be invoked by other code. Consider throwing a RuntimeException instead.

      Attachments

        Activity

          People

            tilman Tilman Hausherr
            peter_lenahan@ibi.com Peter_Lenahan@ibi.com
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: