From ff9c1b12ff9c9533367d0d6200eb39189ad0124c Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Sun, 6 Jan 2013 13:38:22 +0000 Subject: Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. --- ext/date/php_date.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ext/date/php_date.c') diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 2b4b4b50ea..2e616b1704 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2079,7 +2079,11 @@ static int date_object_compare_date(zval *d1, zval *d2 TSRMLS_DC) instanceof_function(Z_OBJCE_P(d2), date_ce_date TSRMLS_CC)) { php_date_obj *o1 = zend_object_store_get_object(d1 TSRMLS_CC); php_date_obj *o2 = zend_object_store_get_object(d2 TSRMLS_CC); - + + if (!o1->time || !o2->time) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Trying to compare an incomplete DateTime object"); + return 1; + } if (!o1->time->sse_uptodate) { timelib_update_ts(o1->time, o1->time->tz_info); } -- cgit v1.2.1