summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-04-07 16:12:27 +0000
committerDmitry Stogov <dmitry@php.net>2005-04-07 16:12:27 +0000
commitb14271dbfae33052cea7776b8d59b3825086211e (patch)
treeeda5b5b1b85ca485aaa99d3611047cb31a0089ee
parent779f5c5c195037347699d7f352d16063adb80a8c (diff)
downloadphp-git-b14271dbfae33052cea7776b8d59b3825086211e.tar.gz
Fixed wrong result of cal_days_in_month() with bad dates
-rw-r--r--ext/calendar/calendar.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c
index acf0d843c9..a8a4eb5262 100644
--- a/ext/calendar/calendar.c
+++ b/ext/calendar/calendar.c
@@ -246,6 +246,11 @@ PHP_FUNCTION(cal_days_in_month)
sdn_start = calendar->to_jd(year, month, 1);
+ if (sdn_start == 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid date.");
+ RETURN_FALSE;
+ }
+
sdn_next = calendar->to_jd(year, 1 + month, 1);
if (sdn_next == 0) {