summaryrefslogtreecommitdiff
path: root/ext/date/php_date.c
diff options
context:
space:
mode:
authorAnthony Ferrara <ircmaxell@gmail.com>2012-07-10 10:33:51 -0400
committerAnthony Ferrara <ircmaxell@gmail.com>2012-07-10 10:33:51 -0400
commit99b7956ad58395853f7950ae01a43139413d348d (patch)
tree3380292c8bd8211390b768d1f7c5e958840d99ae /ext/date/php_date.c
parent9d3630b5dc8fa066dc4212ead2fffc8635f5bc0a (diff)
parentb210766084cbd00b0e479d2800e1920271a3faba (diff)
downloadphp-git-99b7956ad58395853f7950ae01a43139413d348d.tar.gz
Merge remote branch 'upstream/master' into hash_password
* upstream/master: (34 commits) Fixed Bug #62500 (Segfault in DateInterval class when extended) Fixed test bug #62312 (warnings changed one more time) fix valgrind warning fix valgrind warning fixed #62433 test for win update NEWS Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false) appease MSVC (doesnt like unary minus of unsigned ints) appease MSVC (doesnt like unary minus of unsigned ints) appease MSVC (doesnt like unary minus of unsigned ints) - Fixed bug #62507 (['REQUEST_TIME'] under mod_php5 returns miliseconds instead of seconds) Fixed Bug #62500 (Segfault in DateInterval class when extended) Added in NEWS and UPGRADING for feature 55218 Fix two issues with run-tests.php Fix potential integer overflow in nl2br Fix potential integer overflow in bin2hex This wil be PHP 5.3.16 Revert change 3f3ad30c50: There shouldn't be new features in 5.3, especially not if they aren't in 5.4, too. fix (signed) integer overflow (part of bug #52550 fix (signed) integer overflow (part of bug #52550 ...
Diffstat (limited to 'ext/date/php_date.c')
-rw-r--r--ext/date/php_date.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index cd48de2731..13e7b753d3 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -3430,10 +3430,19 @@ zval *date_interval_read_property(zval *object, zval *member, int type, const ze
zval_copy_ctor(&tmp_member);
convert_to_string(&tmp_member);
member = &tmp_member;
+ key = NULL;
}
obj = (php_interval_obj *)zend_objects_get_address(object TSRMLS_CC);
+ if (!obj->initialized) {
+ retval = (zend_get_std_object_handlers())->read_property(object, member, type, key TSRMLS_CC);
+ if (member == &tmp_member) {
+ zval_dtor(member);
+ }
+ return retval;
+ }
+
#define GET_VALUE_FROM_STRUCT(n,m) \
if (strcmp(Z_STRVAL_P(member), m) == 0) { \
value = obj->diff->n; \
@@ -3482,9 +3491,19 @@ void date_interval_write_property(zval *object, zval *member, zval *value, const
zval_copy_ctor(&tmp_member);
convert_to_string(&tmp_member);
member = &tmp_member;
+ key = NULL;
}
+
obj = (php_interval_obj *)zend_objects_get_address(object TSRMLS_CC);
+ if (!obj->initialized) {
+ (zend_get_std_object_handlers())->write_property(object, member, value, key TSRMLS_CC);
+ if (member == &tmp_member) {
+ zval_dtor(member);
+ }
+ return;
+ }
+
#define SET_VALUE_FROM_STRUCT(n,m) \
if (strcmp(Z_STRVAL_P(member), m) == 0) { \
if (value->type != IS_LONG) { \