summaryrefslogtreecommitdiffstats
path: root/source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch')
-rw-r--r--source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch b/source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch
new file mode 100644
index 000000000..b1f4799f1
--- /dev/null
+++ b/source/ap/ghostscript/ghostscript.c8c01f8c4164bc10281d9e8f87cf96314d93104b.patch
@@ -0,0 +1,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
+
+