[gs-cvs] rev 7730 - in trunk/gs: doc src

alexcher at ghostscript.com alexcher at ghostscript.com
Wed Feb 21 14:16:54 PST 2007


Author: alexcher
Date: 2007-02-21 14:16:53 -0800 (Wed, 21 Feb 2007)
New Revision: 7730

Modified:
   trunk/gs/doc/pscet_status.txt
   trunk/gs/src/zcontrol.c
Log:
Change the parameter validation order in execstack to match CET 20-03.

DIFFERENCES:
No comparefiles or other CET differences.


Modified: trunk/gs/doc/pscet_status.txt
===================================================================
--- trunk/gs/doc/pscet_status.txt	2007-02-21 20:24:45 UTC (rev 7729)
+++ trunk/gs/doc/pscet_status.txt	2007-02-21 22:16:53 UTC (rev 7730)
@@ -4854,9 +4854,11 @@
 
 28-02-3  OK	
 
-28-03-1  DIFF	"Section 6.3 - SYNTAX" AOK is implementation dependent. GS doesn't need to match the internal
-		dump names of the PS interpreter. "ILLEGAL" test GS has different error messages.
-		Assign: Alex
+28-03-1  AOK 	The following differences remain:
+		1. names of internal operators are different
+		2. execution stack od 49 elements doesn't fit into 40-element
+                arrays provided by the test causing different errors.
+                Rev. 7730 - Alex
 
 28-03-2  OK	
 

Modified: trunk/gs/src/zcontrol.c
===================================================================
--- trunk/gs/src/zcontrol.c	2007-02-21 20:24:45 UTC (rev 7729)
+++ trunk/gs/src/zcontrol.c	2007-02-21 22:16:53 UTC (rev 7730)
@@ -746,11 +746,14 @@
      */
     uint depth;
 
-    check_write_type(*op1, t_array);
+    if (!r_is_array(op1))
+	return_op_typecheck(op1);
+    /* Check the length before the write access per CET 28-03 */
     size = r_size(op1);
     depth = count_exec_stack(i_ctx_p, include_marks);
     if (depth > size)
 	return_error(e_rangecheck);
+    check_write(*op1);
     {
 	int code = ref_stack_store_check(&e_stack, op1, size, 0);
 



More information about the gs-cvs mailing list