From ca29063da5599f463454578abe629bc21ab33b3b Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Sun, 15 Jun 2014 22:18:25 +0200 Subject: [PATCH 1/2] Fix bug #67436 --- Zend/zend_compile.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index f26766964aa..519227cd7a8 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3150,8 +3150,11 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{ *zv = *precv->op2.zv; zval_copy_ctor(zv); INIT_PZVAL(zv); - zval_update_constant_ex(&zv, (void*)1, fptr->common.scope TSRMLS_CC); - if (Z_TYPE_P(zv) == IS_BOOL) { + if (Z_TYPE_P(zv) == IS_CONSTANT) { + REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN_P(zv)); + memcpy(offset, Z_STRVAL_P(zv), Z_STRLEN_P(zv)); + offset += Z_STRLEN_P(zv); + } else if (Z_TYPE_P(zv) == IS_BOOL) { if (Z_LVAL_P(zv)) { memcpy(offset, "true", 4); offset += 4; @@ -3173,7 +3176,7 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{ *(offset++) = '.'; } *(offset++) = '\''; - } else if (Z_TYPE_P(zv) == IS_ARRAY) { + } else if (Z_TYPE_P(zv) == IS_ARRAY || Z_TYPE_P(zv) == IS_CONSTANT_ARRAY) { memcpy(offset, "Array", 5); offset += 5; } else { From 85d3ac5763c04def3ab64830d84f18da7d092ae5 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Sun, 15 Jun 2014 22:32:47 +0200 Subject: [PATCH 2/2] Updated NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 0ecef6dfb1a..ffd8e5164c4 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed bug #67428 (header('Location: foo') will override a 308-399 response code). (Adam) + . Fixed bug #67436 (Autoloader isn't called if two method definitions don't + match). (Bob) - CLI server: . Implemented FR #67429 (CLI server is missing some new HTTP response codes).