[gs-commits] ghostpdl branch, master, updated. ghostpdl-9.02-631-g3380bef

Michael Vrhel mvrhel at ghostscript.com
Sat Oct 1 15:47:42 UTC 2011


The ghostpdl branch, master has been updated
       via  3380bef5e77ddfaa8aab496a4da13fd297480bd1 (commit)
      from  b39b7cbfcf8719b9f41153ccf6172fbf8f800642 (commit)

----------------------------------------------------------------------
commit 3380bef5e77ddfaa8aab496a4da13fd297480bd1
Author: Michael Vrhel <michael.vrhel at artifex.com>
Date:   Fri Sep 30 12:46:53 2011 -0700

    Fix for bug 692558
    
    Issue was that the pdf14 device profile was getting set from an ICC profile that
    was contained in the source profile for the transparency group.  This needs to
    be detected when we are getting the device parameters.

diff --git a/gs/base/gsdparam.c b/gs/base/gsdparam.c
index 4186472..ba406d2 100644
--- a/gs/base/gsdparam.c
+++ b/gs/base/gsdparam.c
@@ -133,8 +133,13 @@ gx_default_get_params(gx_device * dev, gs_param_list * plist)
             code = gsicc_init_device_profile_struct(dev, NULL, 0);
             code = dev_proc(dev, get_profile)(dev,  &dev_profile);
         } 
+        /* It is possible that the current device profile name is NULL if we 
+           have a pdf14 device in line with a transparency group that is in a 
+           color space specified from a source defined ICC profile. Check for 
+           that here to avoid any access violations.  Bug 692558 */
         for (k = 0; k < NUM_DEVICE_PROFILES; k++) {
-            if (dev_profile->device_profile[k] == NULL) {
+            if (dev_profile->device_profile[k] == NULL 
+                || dev_profile->device_profile[k]->name == NULL) {
                 param_string_from_string(profile_array[k], null_str);
                 profile_intents[k] = gsPERCEPTUAL;
             } else {


Summary of changes:
 gs/base/gsdparam.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)



More information about the gs-commits mailing list