]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4' into master
authorChristoph M. Becker <cmbecker69@gmx.de>
Tue, 8 Sep 2020 16:11:26 +0000 (18:11 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Tue, 8 Sep 2020 16:11:26 +0000 (18:11 +0200)
* PHP-7.4:
  Fix #72941: Modifying bucket->data by-ref has no effect any longer

1  2 
ext/standard/user_filters.c

index 7c8e02fa28f3727b141b4d12aa97c91373ae5ac1,a48e0d3509ebaa18f32a3ff7bc2e37c0a7deaaa1..990a8e6420608d6273a570ab2bd08599645e9da6
@@@ -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(
        }
  
        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);
                }