• ... containing objects with no white-space between them.
    
    To enforce the rule that objects end at the start-offset of the next
    object, each object is parsed in it own object stream.
    
    To facilitate this, a new private API input source is::OffsetBuffer has
    been added which only contains the object but reports offsets relative to
    the start of the object stream. This is adapted from OffsetInputSource by
    changing the direction of the offset, endowing it with its own
    BufferInputSource and striooing out checks duplicated in BufferInputSource.
    
    Fixes the expected failure in the test case added in #1266.
    m-holger authored
     
    Browse File »
  • Add static parse methods. Make all external access to QPDFParser through
    static methods.
    
    Make all non-static methods including constructors private.
    m-holger authored
     
    Browse File »
  • Only build strings when needed.
    m-holger authored
     
    Browse File »



  • #1349 introduced a limit on the maximum size of arrays and dictionaries
    contained in objects that generate errors during parsing, and #1354
    reduced that limit to 5000 objects. However, the limit was only imposed
    once a further error was encountered.
    
    Stop adding objects to containers once the limit is reached.
    
    Fixes oss-fuzz issue 398060137
    m-holger authored
     
    Browse File »






  • Create unresolved objects only for objects in the xref table (except during
    parsing of the xref table). Do not add indirect nulls into the the object
    cache as the result of a cache miss during a call to getObject except
    during parsing or creation/updating from JSON. To support this behaviour,
    add new private methods getObjectForParser and getObjectForJSON.
    
    As a result of this change, dangling references are treated as direct nulls
    rather than indirect nulls.
    m-holger authored
     
    Browse File »