]> granicus.if.org Git - php/commitdiff
Fixed bug #76462 Undefined property: DateInterval::$f
authorAnatol Belski <ab@php.net>
Tue, 12 Jun 2018 13:30:14 +0000 (15:30 +0200)
committerAnatol Belski <ab@php.net>
Tue, 12 Jun 2018 13:30:14 +0000 (15:30 +0200)
ext/date/php_date.c
ext/date/tests/bug76462.phpt [new file with mode: 0644]

index 7c28f1b4b429db8b4bf5cc38ad4b01e845bfdff4..955b7e9197e61e1533aebf625be74c348e9f8739 100644 (file)
@@ -4276,6 +4276,7 @@ static zval *date_interval_get_property_ptr_ptr(zval *object, zval *member, int
                zend_binary_strcmp("h", sizeof("h") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0 ||
                zend_binary_strcmp("i", sizeof("i") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0 ||
                zend_binary_strcmp("s", sizeof("s") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0 ||
+               zend_binary_strcmp("f", sizeof("f") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0 ||
                zend_binary_strcmp("days", sizeof("days") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0 ||
                zend_binary_strcmp("invert", sizeof("invert") - 1, Z_STRVAL_P(member), Z_STRLEN_P(member)) == 0) {
                /* Fallback to read_property. */
diff --git a/ext/date/tests/bug76462.phpt b/ext/date/tests/bug76462.phpt
new file mode 100644 (file)
index 0000000..096fa5b
--- /dev/null
@@ -0,0 +1,16 @@
+--TEST--
+Bug #76462 Undefined property: DateInterval::$f
+--FILE--
+<?php
+$buggy = new DateInterval('P0Y');
+$buggy->f += 0.01;
+
+$ok = new DateInterval('P0Y');
+$ok->f = $ok->f + 0.01;
+
+var_dump($buggy->f);
+var_dump($ok->f);
+?>
+--EXPECT--
+float(0.01)
+float(0.01)