]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.3' into PHP-7.4
authorCraig Duncan <duncan3dc@php.net>
Thu, 30 May 2019 18:14:04 +0000 (19:14 +0100)
committerCraig Duncan <duncan3dc@php.net>
Thu, 30 May 2019 18:14:04 +0000 (19:14 +0100)
* PHP-7.3:
  Add a test for bug #65672
  Ensure the internal properties cannot be overwritten

1  2 
ext/date/php_date.c

index 94f173be876fcc277b9e6e89d431d0218cc5da79,db08395fcb9c5befc262367b6d16185f6b582ac3..f7db8a26d78fe1760e3f3521bf67664908f562e7
@@@ -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;
  }
  /* }}} */