summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-06-12 15:30:14 +0200
committerAnatol Belski <ab@php.net>2018-06-12 15:30:14 +0200
commit72128294352e8b8dbbfe43f85cb5bf79a24a9332 (patch)
treea82ecbbd1fd9cdb3a85bfc6c17af43b687765e84
parent6c9db02ff7812c298d1e7e292ba731d9d3a66790 (diff)
downloadphp-git-72128294352e8b8dbbfe43f85cb5bf79a24a9332.tar.gz
Fixed bug #76462 Undefined property: DateInterval::$f
-rw-r--r--ext/date/php_date.c1
-rw-r--r--ext/date/tests/bug76462.phpt16
2 files changed, 17 insertions, 0 deletions
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 7c28f1b4b4..955b7e9197 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -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
index 0000000000..096fa5b923
--- /dev/null
+++ b/ext/date/tests/bug76462.phpt
@@ -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)