texlive[51898] Build/source/texk/gsftopk: gs-9.28(rc1) requires

commits+kakuto at tug.org commits+kakuto at tug.org
Sun Aug 18 10:27:14 CEST 2019


Revision: 51898
          http://tug.org/svn/texlive?view=revision&revision=51898
Author:   kakuto
Date:     2019-08-18 10:27:13 +0200 (Sun, 18 Aug 2019)
Log Message:
-----------
gs-9.28(rc1) requires -dNOSAFER in gsftopk

Modified Paths:
--------------
    trunk/Build/source/texk/gsftopk/ChangeLog
    trunk/Build/source/texk/gsftopk/gsftopk.c

Modified: trunk/Build/source/texk/gsftopk/ChangeLog
===================================================================
--- trunk/Build/source/texk/gsftopk/ChangeLog	2019-08-17 23:53:14 UTC (rev 51897)
+++ trunk/Build/source/texk/gsftopk/ChangeLog	2019-08-18 08:27:13 UTC (rev 51898)
@@ -1,3 +1,11 @@
+2019-08-18  Akira Kakuto  <kakuto at w32tex.org>
+
+	* gsftopk.c: Add an option -dNOSAFER for Ghostscript.
+	Otherwise gs-9.28 fails with:
+	"gs: Last OS error: Permission denied".
+	gs-9.28 is not released yet, and the above is noticed by
+	testing with gs-9.28rc1.
+
 2019-04-05  Paul Vojta <vojta at math.berkeley.edu>
 
 	* render.ps (shellarguments): check for /.shellarguments

Modified: trunk/Build/source/texk/gsftopk/gsftopk.c
===================================================================
--- trunk/Build/source/texk/gsftopk/gsftopk.c	2019-08-17 23:53:14 UTC (rev 51897)
+++ trunk/Build/source/texk/gsftopk/gsftopk.c	2019-08-18 08:27:13 UTC (rev 51898)
@@ -299,19 +299,20 @@
 /* Arguments to gs dll */
 const
 char *gs_argv[] = { "rungs.exe",		/* 0, dummy */
-		    "-dNOGC",			/* 1, */
-		    "-dNODISPLAY",		/* 2, */
-		    NULL,			/* 3, substarg */
-		    "-q",			/* 4, */
-		    "--",			/* 5, */
-		    NULL,			/* 6, searchpath */
-		    NULL,			/* 7, PSname */
-		    NULL,	       /* 8, dlstring != NULL ? dlstring : "" */
-		    NULL,			/* 9, specinfo */
-		    NULL,			/* 10, dpistr */
-		    NULL			/* 11, NULL terminator */
+		    "-dNODISPLAY",		/* 1, */
+		    "-dNOGC",			/* 2, */
+		    "-dNOSAFER",		/* 3, */
+		    NULL,			/* 4, substarg */
+		    "-q",			/* 5, */
+		    "--",			/* 6, */
+		    NULL,			/* 7, searchpath */
+		    NULL,			/* 8, PSname */
+		    NULL,			/* 9, dlstring != NULL ? dlstring : "" */
+		    NULL,			/* 10, specinfo */
+		    NULL,			/* 11, dpistr */
+		    NULL			/* 12, NULL terminator */
   };
-int gs_argc = 11;
+int gs_argc = 12;
 
 char *buffer_stdin; /* This is the buffer from where data are taken. */
 
@@ -2259,8 +2260,10 @@
 
 #if defined(WIN32)
        /* TeXLive uses its own Ghostscript */  
+#if !defined(_WIN64)
         texlive_gs_init();
 #endif
+#endif
 
 #endif
 
@@ -2507,7 +2510,7 @@
 	if (in && out) {
 	    int error;
 	    char *cmd;
-	    char formatstr[] = "%s -dNODISPLAY -dNOGC -sSUBSTFONT=\"%s\" -q -- \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"";
+	    char formatstr[] = "%s -dNODISPLAY -dNOGC -dNOSAFER -sSUBSTFONT=\"%s\" -q -- \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"";
 	    unsigned int len;
 
 	    len = sizeof formatstr + strlen(gspath) + strlen(searchpath)
@@ -2581,7 +2584,7 @@
 	    close(std_out[0]);
 	    dup2(std_out[1], 1);
 	    close(std_out[1]);
-	    execlp(gspath, "gs", "-dNODISPLAY", "-dNOGC", substarg, "-q", "--",
+	    execlp(gspath, "gs", "-dNODISPLAY", "-dNOGC", "-dNOSAFER", substarg, "-q", "--",
 		/* render.ps */ searchpath,
 		PSname,
 		dlstring != NULL ? dlstring : "", specinfo, dpistr, NULL);
@@ -2659,12 +2662,12 @@
 	hGsDataIn = CreateEvent(&sa, FALSE, FALSE, "gsDataIn");
 	hGsDataOut = CreateEvent(&sa, FALSE, FALSE, "gsDataOut");
 
-	gs_argv[3] = substarg;
-	gs_argv[6] = searchpath;
-	gs_argv[7] = PSname;
-	gs_argv[8] = dlstring != NULL ? dlstring : "";
-	gs_argv[9] = specinfo;
-	gs_argv[10] = dpistr;
+	gs_argv[4] = substarg;
+	gs_argv[7] = searchpath;
+	gs_argv[8] = PSname;
+	gs_argv[9] = dlstring != NULL ? dlstring : "";
+	gs_argv[10] = specinfo;
+	gs_argv[11] = dpistr;
 
 	buffer_stdin = concat(designstr, charlist);
 



More information about the tex-live-commits mailing list