ICEpdf
  1. ICEpdf
  2. PDF-777

Image stream decode results in zero length stream.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.6_P01
    • Fix Version/s: 5.1
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      any

      Description

      The PDF in question has streams that are encoded using Crypt filters. There are three images on page two (10 0 obj, 5 0 obj, and 6 0 obj (smask of 5 0 obj)) which fail to decode correctly. I have yet to find the source of these issue but it would appear that ChunkInputStream.fillBufferFromInputStream() is failing.

      The rest of the document renders ok minus the absense of a header image on pages 5 and greated. Furhter investigation is need to try and determine the cause of this issue.

        Activity

        Patrick Corless created issue -
        Patrick Corless made changes -
        Field Original Value New Value
        Attachment Web2Print_JenniferMatt___S.pdf [ 17266 ]
        Patrick Corless made changes -
        Attachment Web2Print_JenniferMatt___S.pdf [ 17266 ]
        Patrick Corless made changes -
        Attachment Web2Print_JenniferMatt___S.pdf [ 17267 ]
        Arran Mccullough made changes -
        Support Case References Support Case #12907 - https://icesoft.my.salesforce.com/5007000000dugM6
        Patrick Corless made changes -
        Fix Version/s 5.1 [ 10675 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #42096 Wed Aug 13 10:10:06 MDT 2014 patrick.corless PDF-777 fixed a crypt filter encryption issue where images with a decodeParam dictionary and no crypt filter name may fail to decode.
        Files Changed
        Commit graph MODIFY /icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/security/StandardSecurityHandler.java
        Hide
        Patrick Corless added a comment -

        The PDF in question is encrypted and uses crypt filters to encrypt the streams. The missing images is realated to a corner case where some images have a decodeParam dictionary which is also used by crypt filters. So when the images in question (the ones that aren't loaded) decodeParam is passed to the crypt filter setup no filter name is found and the default is never assigned resulting in the empty or unencryptable stream.

        I've touched up the code and all the images with the decodeParam no load correctly.

        Show
        Patrick Corless added a comment - The PDF in question is encrypted and uses crypt filters to encrypt the streams. The missing images is realated to a corner case where some images have a decodeParam dictionary which is also used by crypt filters. So when the images in question (the ones that aren't loaded) decodeParam is passed to the crypt filter setup no filter name is found and the default is never assigned resulting in the empty or unencryptable stream. I've touched up the code and all the images with the decodeParam no load correctly.
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #42099 Wed Aug 13 12:33:36 MDT 2014 patrick.corless PDF-777 fixed null pointer in image stream that actually have a encryptionDictionary.getCryptFilter().
        Files Changed
        Commit graph MODIFY /icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/security/StandardSecurityHandler.java
        Patrick Corless made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: