Bug 28879: Populating arrays with resources and objects as offsets

From: Date: Tue, 22 Jun 2004 16:41:42 +0000
Subject: Bug 28879: Populating arrays with resources and objects as offsets
Groups: php.internals 
Request: Send a blank email to internals+get-10712@lists.php.net to get a copy of this message
http://bugs.php.net/28879 The fixes are really simple (and the ZE1 branch is no more complicated), but I just wanted to double check that this kind of behavior change should be done. On the one hand it makes things consistent (which is good), on the other hand the two "problems" it "solves" are fairly insipid to begin with. Would this raise a BC issue? Andi/Zeev? Index: Zend/zend_execute.c =================================================================== RCS file: /repository/ZendEngine2/zend_execute.c,v retrieving revision 1.649 diff -u -r1.649 zend_execute.c --- Zend/zend_execute.c 18 Jun 2004 18:33:46 -0000 1.649 +++ Zend/zend_execute.c 22 Jun 2004 16:38:27 -0000 @@ -3391,6 +3391,7 @@ case IS_DOUBLE: zend_hash_index_update(array_ptr->value.ht, (long) offset->value.dval, &expr_ptr, sizeof(zval *), NULL); break; + case IS_RESOURCE: case IS_LONG: case IS_BOOL: zend_hash_index_update(array_ptr->value.ht, offset->value.lval, &expr_ptr, sizeof(zval *), NULL); @@ -3402,6 +3403,7 @@ zend_hash_update(array_ptr->value.ht, "", sizeof(""), &expr_ptr, sizeof(zval *), NULL); break; default: + zend_error(E_WARNING, "Illegal offset type"); zval_ptr_dtor(&expr_ptr); /* do nothing */ break;

« previous php.internals (#10712) next »