From: Craig Duncan Date: Thu, 30 May 2019 18:14:04 +0000 (+0100) Subject: Merge branch 'PHP-7.3' into PHP-7.4 X-Git-Tag: php-7.4.0alpha1~142 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a08b3b6d1924276662ea80d155c4f9e18147e1a0;p=php Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Add a test for bug #65672 Ensure the internal properties cannot be overwritten --- a08b3b6d1924276662ea80d155c4f9e18147e1a0 diff --cc ext/date/php_date.c index 94f173be87,db08395fcb..f7db8a26d7 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@@ -5339,10 -5345,17 +5362,18 @@@ static zval *date_period_read_property( /* }}} */ /* {{{ date_period_write_property */ -static void date_period_write_property(zval *object, zval *member, zval *value, void **cache_slot) +static zval *date_period_write_property(zval *object, zval *member, zval *value, void **cache_slot) { - zend_throw_error(NULL, "Writing to DatePeriod properties is unsupported"); + zend_string *name = zval_get_string(member); + if (date_period_is_magic_property(name)) { + zend_throw_error(NULL, "Writing to DatePeriod->%s is unsupported", ZSTR_VAL(name)); + zend_string_release(name); - return; ++ return value; + } + zend_string_release(name); + + std_object_handlers.write_property(object, member, value, cache_slot); + return value; } /* }}} */