summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--ext/date/php_date.c1
-rw-r--r--ext/date/tests/bug33562.phpt11
3 files changed, 13 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 09f10c9b69..95e13432b7 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ PHP NEWS
- Added date_timezone_set() function to set the timezone that the date
functions will use. (Derick)
- Implemented feature request #33452 (Year belonging to ISO week). (Derick)
+- Fixed bug #33562 (date("") crashes). (Derick)
- Fixed bug #33536 (strtotime() defaults to now even on non time string).
(Derick)
- Fixed bug #33532 (Different output for strftime() and date()). (Derick)
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index b5a1b66ccf..eaa7f9c742 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -228,6 +228,7 @@ static char *php_format_date(char *format, int format_len, timelib_time *t, int
offset = timelib_get_time_zone_info(t->sse, t->tz_info);
}
buffer[32] = '\0';
+ smart_str_appends(&string, "");
timelib_isoweek_from_date(t->y, t->m, t->d, &isoweek, &isoyear);
for (i = 0; i < format_len; i++) {
diff --git a/ext/date/tests/bug33562.phpt b/ext/date/tests/bug33562.phpt
new file mode 100644
index 0000000000..f86fce6d62
--- /dev/null
+++ b/ext/date/tests/bug33562.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Bug #33562 (date("") crashes)
+--FILE--
+<?php
+date_timezone_set("GMT");
+echo "[", date(""), "]\n";
+echo "done";
+?>
+--EXPECT--
+[]
+done