[gs-cvs] rev 8050 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Wed Jun 13 16:21:11 PDT 2007
Author: leonardo
Date: 2007-06-13 16:21:11 -0700 (Wed, 13 Jun 2007)
New Revision: 8050
Modified:
trunk/gs/src/gdevpdfu.c
Log:
Fix (pdfwrite) : A crash when comparing resources of different types.
DETAILS :
pdf_find_same_resource assumed same resource type.
However PDF allows for functions to be either array or dictionary.
Need to compare resource types before comparing their contents.
EXPECTED DIFFERENCES :
None.
Modified: trunk/gs/src/gdevpdfu.c
===================================================================
--- trunk/gs/src/gdevpdfu.c 2007-06-13 19:21:47 UTC (rev 8049)
+++ trunk/gs/src/gdevpdfu.c 2007-06-13 23:21:11 UTC (rev 8050)
@@ -877,9 +877,12 @@
for (i = 0; i < NUM_RESOURCE_CHAINS; i++) {
for (pres = pchain[i]; pres != 0; pres = pres->next) {
if (*ppres != pres) {
+ int code;
cos_object_t *pco1 = pres->object;
- int code = pco0->cos_procs->equal(pco0, pco1, pdev);
+ if (cos_type(pco0) != cos_type(pco1))
+ continue; /* don't compare different types */
+ code = pco0->cos_procs->equal(pco0, pco1, pdev);
if (code < 0)
return code;
if (code > 0) {
More information about the gs-cvs
mailing list