Bug 692361

Summary: Regression: commit 4c6809 causes file to error
Product: Ghostscript Reporter: Chris Liddell (chrisl) <chris.liddell>
Component: PDF InterpreterAssignee: Alex Cherepanov <alex>
Status: NOTIFIED FIXED    
Severity: blocker CC: henry.stiles
Priority: P1    
Version: master   
Hardware: PC   
OS: Linux   
Customer: 531 Word Size: ---

Description Chris Liddell (chrisl) 2011-07-20 16:07:18 UTC
Commit:
4c6809dfa1c539d757c30f572922e05cd1436698

"    Bug 692252: Trap contents stream errors
    
    Run PDF operator streams in a stopped context. Stop processing of the
    stream on error, but continue to process rest of the file. Remove a
    hack that defined 'inf' as 0."

Causes the attached file to error out where it continued to run (despite the AES stream problems) prior to that.

It errors with:
+ ./base/saes.c:172: s_aes_process(): aes stream isn't a multiple of 16 bytes
   **** Error reading a content stream. The page may be incomplete.
   **** Error reading a content stream. The page may be incomplete.
   **** Error reading a content stream. The page may be incomplete.
Error: /typecheck in --run--
Operand stack:
   --dict:8/17(L)--   1   10   3   4   13   7   -1   --nostringval--   9   --dict:87/87(ro)(G)--
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1910   1   3   %oparray_pop   1909   1   3   %oparray_pop   1893   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1   15   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--   false   1   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1160/1684(ro)(G)--   --dict:1/20(G)--   --dict:82/200(L)--   --dict:82/200(L)--   --dict:108/127(ro)(G)--   --dict:292/300(ro)(G)--   --dict:24/30(L)--   --dict:6/8(L)--   --dict:22/40(L)--   --dict:5/5(L)--   --dict:1/1(ro)(G)--   --dict:4/5(L)--   --dict:3/5(L)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript GIT PRERELEASE 9.03: Unrecoverable error, exit code 1
Comment 2 Chris Liddell (chrisl) 2011-07-20 16:10:55 UTC
Made P1 as it's a customer problem and a regression.
Comment 3 Alex Cherepanov 2011-07-23 03:39:47 UTC
Thap errors thrown by --token--, adjust the stack, and rethrow.
Rev. 4c6809dfa1c539d757c30f572922e05cd1436698 made the errors
that occur during reading of the contents steam recoverable,
but missed the case, when the error happens in the --token--.

The patch has been committed as:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4c2a089d0378402f374cb9004ac0faa3ff82d3c3