summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/datetime.c6
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(&timestamp, &tmbuf);
+ if (NULL == (ta = php_localtime_r(&timestamp, &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;