com php-src: Prevented modification of original name: ext/standard/type.c

From: Date: Wed, 16 Apr 2014 18:42:37 +0000
Subject: com php-src: Prevented modification of original name: ext/standard/type.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-77356@lists.php.net to get a copy of this message
Commit: 320bf772c6d72c28d2d3ecb0e9f428a4a31edf9b Author: Dmitry Stogov <dmitry@zend.com> Wed, 16 Apr 2014 22:42:37 +0400 Parents: 3257dc09eb06cc6efcf0b5de79c0f39382f180a6 Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=320bf772c6d72c28d2d3ecb0e9f428a4a31edf9b Log: Prevented modification of original name Changed paths: M ext/standard/type.c Diff: diff --git a/ext/standard/type.c b/ext/standard/type.c index 3feac63..c4fdbc8 100644 --- a/ext/standard/type.c +++ b/ext/standard/type.c @@ -387,14 +387,16 @@ PHP_FUNCTION(is_callable) check_flags |= IS_CALLABLE_CHECK_SYNTAX_ONLY; } if (ZEND_NUM_ARGS() > 2) { - if (callable_name) { - ZVAL_DEREF(callable_name); - } + ZVAL_DEREF(callable_name); retval = zend_is_callable_ex(var, NULL, check_flags, &name, NULL, &error TSRMLS_CC); zval_dtor(callable_name); //??? is it necessary to be consistent with old PHP ("\0" support) - name->len = strlen(name->val); - ZVAL_STR(callable_name, name); + if (UNEXPECTED(name->len) != strlen(name->val)) { + ZVAL_STRINGL(callable_name, name->val, strlen(name->val)); + STR_RELEASE(name); + } else { + ZVAL_STR(callable_name, name); + } } else { retval = zend_is_callable_ex(var, NULL, check_flags, NULL, NULL, &error TSRMLS_CC); }

« previous php.cvs (#77356) next »