From: Christoph M. Becker Date: Tue, 8 Sep 2020 16:11:26 +0000 (+0200) Subject: Merge branch 'PHP-7.4' into master X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59c645b3efa6ad5a2fd02e2a48a8a22d7237d738;p=php Merge branch 'PHP-7.4' into master * PHP-7.4: Fix #72941: Modifying bucket->data by-ref has no effect any longer --- 59c645b3efa6ad5a2fd02e2a48a8a22d7237d738 diff --cc ext/standard/user_filters.c index 7c8e02fa28,a48e0d3509..990a8e6420 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@@ -423,11 -433,11 +423,11 @@@ static void php_stream_bucket_attach(in ZEND_PARSE_PARAMETERS_START(2, 2) Z_PARAM_RESOURCE(zbrigade) Z_PARAM_OBJECT(zobject) - ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); + ZEND_PARSE_PARAMETERS_END(); - if (NULL == (pzbucket = zend_hash_str_find(Z_OBJPROP_P(zobject), "bucket", sizeof("bucket")-1))) { + if (NULL == (pzbucket = zend_hash_str_find_deref(Z_OBJPROP_P(zobject), "bucket", sizeof("bucket")-1))) { - php_error_docref(NULL, E_WARNING, "Object has no bucket property"); - RETURN_FALSE; + zend_argument_value_error(2, "must be an object that has a \"bucket\" property"); + RETURN_THROWS(); } if ((brigade = (php_stream_bucket_brigade*)zend_fetch_resource( @@@ -436,10 -446,10 +436,10 @@@ } if ((bucket = (php_stream_bucket *)zend_fetch_resource_ex(pzbucket, PHP_STREAM_BUCKET_RES_NAME, le_bucket)) == NULL) { - RETURN_FALSE; + RETURN_THROWS(); } - if (NULL != (pzdata = zend_hash_str_find(Z_OBJPROP_P(zobject), "data", sizeof("data")-1)) && Z_TYPE_P(pzdata) == IS_STRING) { + if (NULL != (pzdata = zend_hash_str_find_deref(Z_OBJPROP_P(zobject), "data", sizeof("data")-1)) && Z_TYPE_P(pzdata) == IS_STRING) { if (!bucket->own_buf) { bucket = php_stream_bucket_make_writeable(bucket); }