diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 0819b45df4ee4..06654b9fa8d36 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2696,7 +2696,7 @@ PHP_FUNCTION(date_create_from_format) int time_str_len = 0, format_str_len = 0; zval datetime_object; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O!", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { RETURN_FALSE; } @@ -2721,7 +2721,7 @@ PHP_FUNCTION(date_create_immutable_from_format) int time_str_len = 0, format_str_len = 0; zval datetime_object; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O!", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) { RETURN_FALSE; } diff --git a/ext/date/tests/bug68669.phpt b/ext/date/tests/bug68669.phpt new file mode 100644 index 0000000000000..6892e651ca21b --- /dev/null +++ b/ext/date/tests/bug68669.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #68669 (DateTime::createFromFormat() does not allow NULL $timezone) +--INI-- +date.timezone=UTC +--FILE-- + +--EXPECTF-- +Done \ No newline at end of file