From: Antony Dovgal <tony2001@php.net> Date: Thu, 24 Dec 2009 13:07:33 +0000 (+0000) Subject: fix the fix for #47409 X-Git-Tag: php-5.4.0alpha1~191^2~2170 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2fa809debeff6cbbb0a17a09bea0dde72dec91d;p=php fix the fix for #47409 use correct comparison and add missing scope checks to trunk --- diff --git a/ext/standard/array.c b/ext/standard/array.c index 1c78cab2e8..5ed0862abb 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1445,7 +1445,7 @@ PHP_FUNCTION(extract) if (var_exists && var_name_len == sizeof("GLOBALS") && ZEND_U_EQUAL(key_type, var_name, var_name_len - 1, "GLOBALS", sizeof("GLOBALS") - 1)) { break; } - if (var_exists && var_name_len == sizeof("this") && ZEND_U_EQUAL(key_type, var_name, var_name_len - 1, "this", sizeof("this") - 1)) { + if (var_exists && var_name_len == sizeof("this") && ZEND_U_EQUAL(key_type, var_name, var_name_len - 1, "this", sizeof("this") - 1) && EG(scope) && EG(scope)->name_length != 0) { break; } ZVAL_ZSTRL(&final_name, key_type, var_name, var_name_len, 1);