diff options
Diffstat (limited to 'Zend/zend_variables.c')
| -rw-r--r-- | Zend/zend_variables.c | 16 | 
1 files changed, 11 insertions, 5 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index 64807fd840..5cb2ab5d60 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -57,9 +57,12 @@ ZEND_API void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)  			zend_hash_destroy(zvalue->value.obj.properties);  			FREE_HASHTABLE(zvalue->value.obj.properties);  			break; -		case IS_RESOURCE: -			/* destroy resource */ -			zend_list_delete(zvalue->value.lval); +		case IS_RESOURCE:	{ +				TSRMLS_FETCH(); + +				/* destroy resource */ +				zend_list_delete(zvalue->value.lval); +			}  			break;  		case IS_LONG:  		case IS_DOUBLE: @@ -81,8 +84,11 @@ ZEND_API void zval_add_ref(zval **p)  ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)  {  	switch (zvalue->type) { -		case IS_RESOURCE: -			zend_list_addref(zvalue->value.lval); +		case IS_RESOURCE: { +				TSRMLS_FETCH(); + +				zend_list_addref(zvalue->value.lval); +			}  			break;  		case IS_BOOL:  		case IS_LONG:  | 
