[gs-commits] ghostpdl branch, master, updated. jbig2dec-0.14-2014-g539fe73

[email protected] (Ken Sharp) Fri, 6 Dec 2019 18:43:25 +0000 (UTC)
Newsgroups gmane.comp.printing.ghostscript.cvs
Message-ID <[email protected]>
The ghostpdl branch, master has been updated
       via  539fe73419fdf00ffd7747a2cf890e56bc6f0504 (commit)
      from  5dfca9b93a17806e11d54068a6e5b9705f3b6bc6 (commit)

----------------------------------------------------------------------
commit 539fe73419fdf00ffd7747a2cf890e56bc6f0504
Author: Ken Sharp <[email protected]>
Date:   Fri Dec 6 18:43:28 2019 +0000

    PDF interpreter - cope with legal but sub-optimal indirect /Pattern
    
    No bug, the report is from a customer who wants the file to be treated
    confidentially.
    
    The files uses a Pattern colour space, which it defines in a highly
    peculiar fashion:
    
    stream
    ....
    /CS0 cs /P0  scn
    
    ....
    endstream
    
    CS0 is defined as:
      /CS0 22 0 R
    
    and object 22 is:
    
    22 0 obj
    [ 23 0 R ]
    endobj
    
    23 0 obj
    /Pattern
    endobj
    
    The PDF interpreter wasn't prepared to handle the name being an indirect
    reference.

diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
index e9d3f82..e5b7e8e 100644
--- a/Resource/Init/pdf_draw.ps
+++ b/Resource/Init/pdf_draw.ps
@@ -1066,6 +1066,8 @@ currentdict end readonly def
     //true
   } ifelse {
     dup dup type /arraytype eq { 0 get } if
+    dup type /packedarraytype eq {exch pop exec dup} if
+
     //csrdict exch .knownget  {
       exec dup type /nametype ne { dup length 1 eq { 0 get } if } if
     } {


Summary of changes:
 Resource/Init/pdf_draw.ps | 2 ++
 1 file changed, 2 insertions(+)