summaryrefslogtreecommitdiffstats
path: root/source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch
blob: b1f4799f1d022c0f8e7d3faacd293455f41d3e9f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From c8c01f8c4164bc10281d9e8f87cf96314d93104b Mon Sep 17 00:00:00 2001
From: Chris Liddell <chris.liddell@artifex.com>
Date: Thu, 6 Sep 2018 14:08:41 +0100
Subject: [PATCH] Bug 699722: Add the ICCProfilesDir to the PermitReading list

There was also an issue that the string being returned from the graphics
library was null terminated, and Postscript strings are not (and Ghostscript
strings are not necessarily). We leave the null termination in place, but
reduce the length returned by 1.
---
 Resource/Init/gs_init.ps | 1 +
 base/gsicc_manage.c      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
index bc8b795..83918a9 100644
--- a/Resource/Init/gs_init.ps
+++ b/Resource/Init/gs_init.ps
@@ -2049,6 +2049,7 @@ readonly def
           [ currentsystemparams /GenericResourceDir get] (*) .file_name_separator (*)
             concatstrings concatstrings .generate_dir_list_templates
         } if
+        currentuserparams /ICCProfilesDir known {currentuserparams /ICCProfilesDir get} if
       ]
       /PermitFileWriting [
           currentuserparams /PermitFileWriting get aload pop
diff --git a/base/gsicc_manage.c b/base/gsicc_manage.c
index 69f05c4..ff685e7 100644
--- a/base/gsicc_manage.c
+++ b/base/gsicc_manage.c
@@ -2972,7 +2972,7 @@ gs_currenticcdirectory(const gs_gstate * pgs, gs_param_string * pval)
         pval->persistent = true;
     } else {
         pval->data = (const byte *)(lib_ctx->profiledir);
-        pval->size = lib_ctx->profiledir_len;
+        pval->size = lib_ctx->profiledir_len - 1;
         pval->persistent = false;
     }
 }
-- 
2.9.1