[PHP-CVS] svn: /php/php-src/ branches/PHP_5_2/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt branches/PHP_5_2/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt branches/PHP_

2010-07-05 Thread Felipe Pena
felipe   Tue, 06 Jul 2010 00:25:52 +

Revision: http://svn.php.net/viewvc?view=revision&revision=301016

Log:
- Fixed tests

Changed paths:
U   
php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt
U   
php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt
U   
php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt
U   
php/php-src/branches/PHP_5_3/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt
U   php/php-src/branches/PHP_5_3/ext/date/tests/bug51393.phpt
U   php/php-src/branches/PHP_5_3/ext/date/tests/date_diff.phpt
U   
php/php-src/branches/PHP_5_3/ext/standard/tests/directory/DirectoryClass_basic_001.phpt
U   
php/php-src/trunk/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt
U   php/php-src/trunk/ext/date/tests/bug51393.phpt
U   php/php-src/trunk/ext/date/tests/date_diff.phpt
U   
php/php-src/trunk/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt
U   
php/php-src/trunk/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt
U   
php/php-src/trunk/ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt
U   
php/php-src/trunk/ext/standard/tests/directory/DirectoryClass_basic_001.phpt

Modified: php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt
===
--- php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt	2010-07-05 21:52:21 UTC (rev 301015)
+++ php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt	2010-07-06 00:25:52 UTC (rev 301016)
@@ -64,10 +64,7 @@

 ?>
 --EXPECTF--
-
-Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line 26
-
-Strict Standards: %s for class NewAndOldCtor in %s on line 31
+Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line %d
 Constructor of NewCtor: __construct
 Constructor of ExtendsNewCtor: __construct
 Constructor of OldCtor: OldCtor
@@ -79,4 +76,4 @@
 Constructor of D1: __construct
 Constructor of D2: C
 No constructor for X
-No constructor for Y
\ No newline at end of file
+No constructor for Y

Modified: php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt
===
--- php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt	2010-07-05 21:52:21 UTC (rev 301015)
+++ php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt	2010-07-06 00:25:52 UTC (rev 301016)
@@ -88,8 +88,6 @@
 ?>
 --EXPECTF--
 Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line %d
-
-Strict Standards: %s for class NewAndOldCtor in %s on line %d
 New-style constructor:
 bool(true)


Modified: php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt
===
--- php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt	2010-07-05 21:52:21 UTC (rev 301015)
+++ php/php-src/branches/PHP_5_2/ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt	2010-07-06 00:25:52 UTC (rev 301016)
@@ -64,10 +64,7 @@

 ?>
 --EXPECTF--
-
-Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line 26
-
-Strict Standards: %s for class NewAndOldCtor in %s on line 31
+Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line %d
 Constructor of NewCtor: __construct
 Constructor of ExtendsNewCtor: __construct
 Constructor of OldCtor: OldCtor

Modified: php/php-src/branches/PHP_5_3/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt
===
--- php/php-src/branches/PHP_5_3/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt	2010-07-05 21:52:21 UTC (rev 301015)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt	2010-07-06 00:25:52 UTC (rev 301016)
@@ -26,7 +26,7 @@
 --EXPECT--
 *** Testing DateTimeZone::listAbbreviations() : basic functionality ***
 string(5) "array"
-int(338)
+int(399)

 -- Format a sample entry --
 array(4) {

Modified: php/php-src/branches/PHP_5_3/ext/date/tests/bug51393.phpt
===
--- php/php-src/branches/PHP_5_3/ext/date/tests/bug51393.phpt	2010-07-05 21:52:21 UTC (rev 301015)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/bug51393.phpt	2010-07-06 00:25:52 UTC (rev 301016)
@@ -1,5 +1,7 @@
 --TEST--
 Bug #51393 (DateTime::createFromFormat() fails if format string contains timezone)
+--INI--
+date.timezone=UTC
 --FILE--
  public meth

[PHP-CVS] svn: /php/php-src/trunk/sapi/cgi/ cgi_main.c fastcgi.c fastcgi.h

2010-07-05 Thread Dmitry Stogov
dmitry   Mon, 05 Jul 2010 15:40:54 +

Revision: http://svn.php.net/viewvc?view=revision&revision=301003

Log:
reduced request processing overhead

Changed paths:
U   php/php-src/trunk/sapi/cgi/cgi_main.c
U   php/php-src/trunk/sapi/cgi/fastcgi.c
U   php/php-src/trunk/sapi/cgi/fastcgi.h

Modified: php/php-src/trunk/sapi/cgi/cgi_main.c
===
--- php/php-src/trunk/sapi/cgi/cgi_main.c   2010-07-05 14:32:29 UTC (rev 
301002)
+++ php/php-src/trunk/sapi/cgi/cgi_main.c   2010-07-05 15:40:54 UTC (rev 
301003)
@@ -625,10 +625,10 @@

/* turn off magic_quotes while importing environment variables 
*/
PG(magic_quotes_gpc) = 0;
-   for (zend_hash_internal_pointer_reset_ex(request->env, &pos);
-   zend_hash_get_current_key_ex(request->env, &var, 
&var_len, &idx, 0, &pos) == HASH_KEY_IS_STRING &&
-   zend_hash_get_current_data_ex(request->env, (void **) 
&val, &pos) == SUCCESS;
-   zend_hash_move_forward_ex(request->env, &pos)
+   for (zend_hash_internal_pointer_reset_ex(&request->env, &pos);
+   zend_hash_get_current_key_ex(&request->env, &var, 
&var_len, &idx, 0, &pos) == HASH_KEY_IS_STRING &&
+   zend_hash_get_current_data_ex(&request->env, (void **) 
&val, &pos) == SUCCESS;
+   zend_hash_move_forward_ex(&request->env, &pos)
) {
unsigned int new_val_len;


Modified: php/php-src/trunk/sapi/cgi/fastcgi.c
===
--- php/php-src/trunk/sapi/cgi/fastcgi.c2010-07-05 14:32:29 UTC (rev 
301002)
+++ php/php-src/trunk/sapi/cgi/fastcgi.c2010-07-05 15:40:54 UTC (rev 
301003)
@@ -638,7 +638,7 @@
memcpy(tmp, p, name_len);
tmp[name_len] = 0;
s = estrndup((char*)p + name_len, val_len);
-   zend_hash_update(req->env, tmp, name_len+1, &s, sizeof(char*), 
NULL);
+   zend_hash_update(&req->env, tmp, name_len+1, &s, sizeof(char*), 
NULL);
p += name_len + val_len;
}
if (tmp != buf && tmp != NULL) {
@@ -663,8 +663,8 @@
req->in_len = 0;
req->out_hdr = NULL;
req->out_pos = req->out_buf;
-   ALLOC_HASHTABLE(req->env);
-   zend_hash_init(req->env, 0, NULL, (void (*)(void *)) fcgi_free_var, 0);
+   req->has_env = 1;
+   zend_hash_init(&req->env, 32, NULL, (void (*)(void *)) fcgi_free_var, 
0);

if (safe_read(req, &hdr, sizeof(fcgi_header)) != sizeof(fcgi_header) ||
hdr.version < FCGI_VERSION_1) {
@@ -700,16 +700,16 @@
req->keep = (((fcgi_begin_request*)buf)->flags & 
FCGI_KEEP_CONN);
switch fcgi_begin_request*)buf)->roleB1 << 8) + 
((fcgi_begin_request*)buf)->roleB0) {
case FCGI_RESPONDER:
-   val = estrdup("RESPONDER");
-   zend_hash_update(req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
+   val = estrndup("RESPONDER", 
sizeof("RESPONDER")-1);
+   zend_hash_update(&req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
break;
case FCGI_AUTHORIZER:
-   val = estrdup("AUTHORIZER");
-   zend_hash_update(req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
+   val = estrndup("AUTHORIZER", 
sizeof("AUTHORIZER")-1);
+   zend_hash_update(&req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
break;
case FCGI_FILTER:
-   val = estrdup("FILTER");
-   zend_hash_update(req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
+   val = estrndup("FILTER", sizeof("FILTER")-1);
+   zend_hash_update(&req->env, "FCGI_ROLE", 
sizeof("FCGI_ROLE"), &val, sizeof(char*), NULL);
break;
default:
return 0;
@@ -765,10 +765,10 @@
return 0;
}

-   zend_hash_internal_pointer_reset_ex(req->env, &pos);
-   while ((key_type = zend_hash_get_current_key_ex(req->env, 
&str_index, &str_length, &num_index, 0, &pos)) != HASH_KEY_NON_EXISTANT) {
+   zend_hash_internal_pointer_reset_ex(&req->env, &pos);
+   while ((key_type = zend_hash_get_current_key_ex(&req->env, 
&str_index, &str_length, &num_index, 0, &pos)) != HASH_KEY_NON_EXISTANT) {

[PHP-CVS] svn: /php/php-src/trunk/ext/standard/ basic_functions.c

2010-07-05 Thread Dmitry Stogov
dmitry   Mon, 05 Jul 2010 14:32:29 +

Revision: http://svn.php.net/viewvc?view=revision&revision=301002

Log:
Use ZE API to modify/restore PG(magic_quotes_runtime). Removed overhead at 
request startup.

Changed paths:
U   php/php-src/trunk/ext/standard/basic_functions.c

Modified: php/php-src/trunk/ext/standard/basic_functions.c
===
--- php/php-src/trunk/ext/standard/basic_functions.c2010-07-05 12:03:08 UTC 
(rev 301001)
+++ php/php-src/trunk/ext/standard/basic_functions.c2010-07-05 14:32:29 UTC 
(rev 301002)
@@ -3682,9 +3682,6 @@
PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);

-   /* Reset magic_quotes_runtime */
-   PG(magic_quotes_runtime) = INI_BOOL("magic_quotes_runtime");
-
/* Setup default context */
FG(default_context) = NULL;

@@ -4534,7 +4531,9 @@
return;
}

-   PG(magic_quotes_runtime) = new_setting;
+   if (zend_alter_ini_entry_ex("magic_quotes_runtime", 
sizeof("magic_quotes_runtime"), new_setting ? "1" : "0", 1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) {
+   RETURN_FALSE;
+   }
RETURN_TRUE;
 }
 /* }}} */

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

[PHP-CVS] svn: /php/php-src/trunk/ext/mbstring/ mbstring.c php_mbregex.c

2010-07-05 Thread Dmitry Stogov
dmitry   Mon, 05 Jul 2010 12:03:08 +

Revision: http://svn.php.net/viewvc?view=revision&revision=301001

Log:
Reduced overhead of ext/mbstring initialization

Changed paths:
U   php/php-src/trunk/ext/mbstring/mbstring.c
U   php/php-src/trunk/ext/mbstring/php_mbregex.c

Modified: php/php-src/trunk/ext/mbstring/mbstring.c
===
--- php/php-src/trunk/ext/mbstring/mbstring.c   2010-07-05 12:00:09 UTC (rev 
301000)
+++ php/php-src/trunk/ext/mbstring/mbstring.c   2010-07-05 12:03:08 UTC (rev 
301001)
@@ -1051,58 +1051,42 @@
 int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint 
new_value_length TSRMLS_DC)
 {
enum mbfl_no_encoding no_encoding;
-   const char *enc_name = NULL;
-   uint enc_name_len = 0;

-   no_encoding = new_value ? mbfl_name2no_encoding(new_value):
-   mbfl_no_encoding_invalid;
-   if (no_encoding != mbfl_no_encoding_invalid) {
-   enc_name = new_value;
-   enc_name_len = new_value_length;
-   } else {
+   if (!new_value
+|| !*new_value
+|| (no_encoding = mbfl_name2no_encoding(new_value)) == 
mbfl_no_encoding_invalid) {
switch (MBSTRG(language)) {
case mbfl_no_language_uni:
-   enc_name = "UTF-8";
-   enc_name_len = sizeof("UTF-8") - 1;
+   no_encoding = mbfl_no_encoding_utf8;
break;
case mbfl_no_language_japanese:
-   enc_name = "EUC-JP";
-   enc_name_len = sizeof("EUC-JP") - 1;
+   no_encoding = mbfl_no_encoding_euc_jp;
break;
case mbfl_no_language_korean:
-   enc_name = "EUC-KR";
-   enc_name_len = sizeof("EUC-KR") - 1;
+   no_encoding = mbfl_no_encoding_euc_kr;
break;
case mbfl_no_language_simplified_chinese:
-   enc_name = "EUC-CN";
-   enc_name_len = sizeof("EUC-CN") - 1;
+   no_encoding = mbfl_no_encoding_euc_cn;
break;
case mbfl_no_language_traditional_chinese:
-   enc_name = "EUC-TW";
-   enc_name_len = sizeof("EUC-TW") - 1;
+   no_encoding = mbfl_no_encoding_euc_tw;
break;
case mbfl_no_language_russian:
-   enc_name = "KOI8-R";
-   enc_name_len = sizeof("KOI8-R") - 1;
+   no_encoding = mbfl_no_encoding_koi8r;
break;
case mbfl_no_language_german:
-   enc_name = "ISO-8859-15";
-   enc_name_len = sizeof("ISO-8859-15") - 1;
+   no_encoding = mbfl_no_encoding_8859_15;
break;
case mbfl_no_language_armenian:
-   enc_name = "ArmSCII-8";
-   enc_name_len = sizeof("ArmSCII-8") - 1;
+   no_encoding = mbfl_no_encoding_armscii8;
break;
case mbfl_no_language_turkish:
-   enc_name = "ISO-8859-9";
-   enc_name_len = sizeof("ISO-8859-9") - 1;
+   no_encoding = mbfl_no_encoding_8859_9;
break;
default:
-   enc_name = "ISO-8859-1";
-   enc_name_len = sizeof("ISO-8859-1") - 1;
+   no_encoding = mbfl_no_encoding_8859_1;
break;
}
-   no_encoding = mbfl_name2no_encoding(enc_name);
}
MBSTRG(internal_encoding) = no_encoding;
MBSTRG(current_internal_encoding) = no_encoding;

Modified: php/php-src/trunk/ext/mbstring/php_mbregex.c
===
--- php/php-src/trunk/ext/mbstring/php_mbregex.c2010-07-05 12:00:09 UTC 
(rev 301000)
+++ php/php-src/trunk/ext/mbstring/php_mbregex.c2010-07-05 12:03:08 UTC 
(rev 301001)
@@ -372,7 +372,7 @@
const char *p;
php_mb_regex_enc_name_map_t *mapping;

-   if (pname == NULL) {
+   if (pname == NULL || !*pname) {
return ONIG_ENCODING_UNDEF;
}


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscri

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/Zend/tests/bug52237.phpt branches/PHP_5_2/Zend/zend_vm_def.h branches/PHP_5_2/Zend/zend_vm_execute.h branches/PHP_5_3/Zend/tests/bug

2010-07-05 Thread Dmitry Stogov
dmitry   Mon, 05 Jul 2010 09:08:35 +

Revision: http://svn.php.net/viewvc?view=revision&revision=300990

Log:
Fixed bug #52237 (Crash when passing the reference of the property of a 
non-object)

Bug: http://bugs.php.net/52237 (Assigned) Crash when passing the reference of 
the property of a non-object
  
Changed paths:
U   php/php-src/branches/PHP_5_2/NEWS
A   php/php-src/branches/PHP_5_2/Zend/tests/bug52237.phpt
U   php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h
U   php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h
A   php/php-src/branches/PHP_5_3/Zend/tests/bug52237.phpt
U   php/php-src/branches/PHP_5_3/Zend/zend_vm_def.h
U   php/php-src/branches/PHP_5_3/Zend/zend_vm_execute.h
A   php/php-src/trunk/Zend/tests/bug52237.phpt
U   php/php-src/trunk/Zend/zend_vm_def.h
U   php/php-src/trunk/Zend/zend_vm_execute.h

Modified: php/php-src/branches/PHP_5_2/NEWS
===
--- php/php-src/branches/PHP_5_2/NEWS	2010-07-05 08:11:41 UTC (rev 300989)
+++ php/php-src/branches/PHP_5_2/NEWS	2010-07-05 09:08:35 UTC (rev 300990)
@@ -4,6 +4,8 @@

 - Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
   (Johannes)
+- Fixed bug #52237 (Crash when passing the reference of the property of a
+  non-object). (Dmitry)

 01 Jul 2010, PHP 5.2.14RC2
 - Fixed a possible interruption array leak in strrchr(). Reported by

Added: php/php-src/branches/PHP_5_2/Zend/tests/bug52237.phpt
===
--- php/php-src/branches/PHP_5_2/Zend/tests/bug52237.phpt	(rev 0)
+++ php/php-src/branches/PHP_5_2/Zend/tests/bug52237.phpt	2010-07-05 09:08:35 UTC (rev 300990)
@@ -0,0 +1,10 @@
+--TEST--
+Bug #52237 (Crash when passing the reference of the property of a non-object)
+--FILE--
+info);
+var_dump($data);
+?>
+--EXPECT--
+string(4) "test"

Modified: php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h
===
--- php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h	2010-07-05 08:11:41 UTC (rev 300989)
+++ php/php-src/branches/PHP_5_2/Zend/zend_vm_def.h	2010-07-05 09:08:35 UTC (rev 300990)
@@ -2378,10 +2378,17 @@
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}

-  	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
-   ZEND_VM_DISPATCH_TO_HELPER(zend_send_by_var_helper);
-}
+	if (OP1_TYPE == IS_VAR && *varptr_ptr == EG(error_zval_ptr)) {
+		(*varptr_ptr)->refcount--;
+		ALLOC_ZVAL(*varptr_ptr);
+		INIT_ZVAL(**varptr_ptr);
+		(*varptr_ptr)->refcount = 0;
+	}

+	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+		ZEND_VM_DISPATCH_TO_HELPER(zend_send_by_var_helper);
+	}
+
 	SEPARATE_ZVAL_TO_MAKE_IS_REF(varptr_ptr);
 	varptr = *varptr_ptr;
 	varptr->refcount++;

Modified: php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h
===
--- php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h	2010-07-05 08:11:41 UTC (rev 300989)
+++ php/php-src/branches/PHP_5_2/Zend/zend_vm_execute.h	2010-07-05 09:08:35 UTC (rev 300990)
@@ -7605,10 +7605,17 @@
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}

-  	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
-   return zend_send_by_var_helper_SPEC_VAR(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
+	if (IS_VAR == IS_VAR && *varptr_ptr == EG(error_zval_ptr)) {
+		(*varptr_ptr)->refcount--;
+		ALLOC_ZVAL(*varptr_ptr);
+		INIT_ZVAL(**varptr_ptr);
+		(*varptr_ptr)->refcount = 0;
+	}

+	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+		return zend_send_by_var_helper_SPEC_VAR(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+	}
+
 	SEPARATE_ZVAL_TO_MAKE_IS_REF(varptr_ptr);
 	varptr = *varptr_ptr;
 	varptr->refcount++;
@@ -20041,10 +20048,17 @@
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}

-  	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
-   return zend_send_by_var_helper_SPEC_CV(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
+	if (IS_CV == IS_VAR && *varptr_ptr == EG(error_zval_ptr)) {
+		(*varptr_ptr)->refcount--;
+		ALLOC_ZVAL(*varptr_ptr);
+		INIT_ZVAL(**varptr_ptr);
+		(*varptr_ptr)->refcount = 0;
+	}

+	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+		return zend_send_by_var_helper_SPEC_CV(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+	}
+
 	SEPARATE_Z