Summary: | segmentation fault in version 8.70, warning in 8.62 | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Antonio Macchi <antonio_macchi> |
Component: | PDF Writer | Assignee: | Alex Cherepanov <alex> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alex, jackie.rosen |
Priority: | P4 | ||
Version: | 8.70 | ||
Hardware: | PC | ||
OS: | Linux | ||
Customer: | Word Size: | --- | |
Attachments: | ps_log.zip |
Description
Antonio Macchi
2009-11-09 19:58:58 UTC
I agree the previous behaviour was better; please attach a copy of FATTURA.pdf and we'll see what we can do. Created attachment 5648 [details]
FATTURA.pdf
search-svn-revs shows that this broke in r8962: r8962 | ken | 2008-08-11 07:16:18 -0700 (Mon, 11 Aug 2008) | 10 lines Move the interpretation of PostScript (and PDF) color spaces from PostScript into C. Although it was my (large) change for PS colour that exposed this problem, I'm not sure its actually my fault. The last call into the colour code is considerably before the actual point of error, which occurs trying to 'exec' a chunk of unavailable memory. Also there are no colour spaces in the file likely to cause a problem (simple device spaces throughout). I think the problem is more to do with trying to fix a broken PDF file which just happened to work before, and just happens not to work after (notice the numerous 'stream operator not terminated by valid EOL' messages) I'm trying to narrow the problem down to see where it actually lies, this will probably take some time. Created attachment 5649 [details]
ps_log.zip
OK, I don't think this is me, I think its something to do with the PDF
interpreter, but I don't know what. The PostScript interpreter seems to be
reading lines from a file (the input file possibly) and executing them, in a
loop I think.
I'm going to CC Alex in to solicit his opinion, I've attached the log of
PostScript operations executed in case that's helpful. The crash occurs after
the final exec.
CC'ing Alex. Alex please have a look at this problem and tell me what you think is wrong. There's something wrong with scanning of big names. I'm taking over. Increase the size of the initial buffer in the scanner dynamic area to accept the string of maximum valid size. Protect the buffer from overflow when the scanner state is saved during reading of a name that exceed max name length. The following patch has been committed as a rev. 10312. http://ghostscript.com/pipermail/gs-cvs/2009-November/010038.html Regression testing shows no differences. |