[gs-cvs] rev 6936 - trunk/gs/src
lpd at ghostscript.com
lpd at ghostscript.com
Sun Jul 30 19:39:26 PDT 2006
Author: lpd
Date: 2006-07-30 19:39:25 -0700 (Sun, 30 Jul 2006)
New Revision: 6936
Modified:
trunk/gs/src/zcontrol.c
Log:
Makes gs match an apparent bug in Adobe interpreters, which cause an
invalidaccess error when 'exec'ing a noaccess literal (other than
dictionaries). Fixes a "failure" in Genoa PS3 CET 24-09.
Modified: trunk/gs/src/zcontrol.c
===================================================================
--- trunk/gs/src/zcontrol.c 2006-07-31 02:38:14 UTC (rev 6935)
+++ trunk/gs/src/zcontrol.c 2006-07-31 02:39:25 UTC (rev 6936)
@@ -101,8 +101,19 @@
os_ptr op = osp;
check_op(1);
- if (!r_has_attr(op, a_executable))
+ if (!r_has_attr(op, a_executable)) {
+ /*
+ * We emulate an apparent bug in Adobe interpreters, which cause an
+ * invalidaccess error when 'exec'ing a noaccess literal (other than
+ * dictionaries).
+ */
+ if (!r_has_attr(op, a_execute) && /* only true if noaccess */
+ ref_type_uses_access(r_type(op)) &&
+ !r_has_type(op, t_dictionary)) {
+ return_error(e_invalidaccess);
+ }
return 0; /* literal object just gets pushed back */
+ }
check_estack(1);
++esp;
ref_assign(esp, op);
More information about the gs-cvs
mailing list