logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

cvs: ZendEngine2 / zend_execute.c: msg#00073

Subject: cvs: ZendEngine2 / zend_execute.c
tony2001                Wed Aug 30 09:58:10 2006 UTC

  Modified files:              
    /ZendEngine2        zend_execute.c 
  Log:
  fix off-by-one in zend_fetch_dimension_address_inner()
  
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.c?r1=1.750&r2=1.751&diff_format=u
Index: ZendEngine2/zend_execute.c
diff -u ZendEngine2/zend_execute.c:1.750 ZendEngine2/zend_execute.c:1.751
--- ZendEngine2/zend_execute.c:1.750    Tue Jul 18 17:52:44 2006
+++ ZendEngine2/zend_execute.c  Wed Aug 30 09:58:10 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_execute.c,v 1.750 2006/07/18 17:52:44 andrei Exp $ */
+/* $Id: zend_execute.c,v 1.751 2006/08/30 09:58:10 tony2001 Exp $ */
 
 #define ZEND_INTENSIVE_DEBUGGING 0
 
@@ -928,14 +928,14 @@
                case IS_NULL:
                        ztype = IS_STRING;
                        offset_key.s = "";
-                       offset_key_length = 1;
+                       offset_key_length = 0;
                        goto fetch_string_dim;
 
                case IS_STRING:
                case IS_UNICODE:
 
                        offset_key = Z_UNIVAL_P(dim);
-                       offset_key_length = Z_UNILEN_P(dim)+1;
+                       offset_key_length = Z_UNILEN_P(dim);
 
 fetch_string_dim:
                        if (UG(unicode) && ht == &EG(symbol_table) && ztype == 
IS_UNICODE) {
@@ -951,7 +951,7 @@
                                        free_offset = 1;
                                }
                        }
-                       if (zend_u_symtable_find(ht, ztype, offset_key, 
offset_key_length, (void **) &retval) == FAILURE) {
+                       if (zend_u_symtable_find(ht, ztype, offset_key, 
offset_key_length + 1, (void **) &retval) == FAILURE) {
                                switch (type) {
                                        case BP_VAR_R:
                                                zend_error(E_NOTICE, "Undefined 
index:  %R", ztype, offset_key);
@@ -967,7 +967,7 @@
                                                        zval *new_zval = 
&EG(uninitialized_zval);
 
                                                        new_zval->refcount++;
-                                                       
zend_u_symtable_update(ht, ztype, offset_key, offset_key_length, &new_zval, 
sizeof(zval *), (void **) &retval);
+                                                       
zend_u_symtable_update(ht, ztype, offset_key, offset_key_length + 1, &new_zval, 
sizeof(zval *), (void **) &retval);
                                                }
                                                break;
                                }

-- 
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




<Prev in Thread] Current Thread [Next in Thread>