diff options
-rw-r--r-- | ext/standard/datetime.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c index fe9b01d283..63d3bafe2d 100644 --- a/ext/standard/datetime.c +++ b/ext/standard/datetime.c @@ -586,7 +586,11 @@ PHP_FUNCTION(localtime) assoc_array = Z_LVAL_PP(assoc_array_arg); break; } - ta = php_localtime_r(×tamp, &tmbuf); + if (NULL == (ta = php_localtime_r(×tamp, &tmbuf))) { + php_error(E_WARNING, "%s(): invalid local time", + get_active_function_name(TSRMLS_C)); + RETURN_FALSE; + } if (array_init(return_value) == FAILURE) { php_error(E_ERROR, "Cannot prepare return array from localtime"); RETURN_FALSE; |