summaryrefslogtreecommitdiff
path: root/ext/calendar
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2016-11-12 17:35:24 +0000
committerJoe Watkins <krakjoe@php.net>2016-11-12 17:35:24 +0000
commit2d865dfd358eb61174c2cedd9ed18d1e0872b840 (patch)
tree7eb1250dc3ce4f260ac28c4fe68037f158fe990f /ext/calendar
parentd1910f66e5b15e52934d7fdc68c6a4c217c34f9d (diff)
parentd2b03119e23a5230cce39a721fd53eecf725507b (diff)
downloadphp-git-2d865dfd358eb61174c2cedd9ed18d1e0872b840.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: news entry for calendar overflow fix Fix integer overflow in calender.
Diffstat (limited to 'ext/calendar')
-rw-r--r--ext/calendar/calendar.c2
-rw-r--r--ext/calendar/gregor.c2
-rw-r--r--ext/calendar/julian.c2
-rw-r--r--ext/calendar/tests/gregoriantojd_overflow.phpt10
-rw-r--r--ext/calendar/tests/juliantojd_overflow.phpt10
5 files changed, 23 insertions, 3 deletions
diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c
index 76248a6554..b5d21a4dcd 100644
--- a/ext/calendar/calendar.c
+++ b/ext/calendar/calendar.c
@@ -12,7 +12,7 @@
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
- | Authors: Shane Caraveo <shane@caraveo.com> |
+ | Authors: Shane Caraveo <shane@caraveo.com> |
| Colin Viebrock <colin@easydns.com> |
| Hartmut Holzgraefe <hholzgra@php.net> |
| Wez Furlong <wez@thebrainroom.com> |
diff --git a/ext/calendar/gregor.c b/ext/calendar/gregor.c
index 069fe6eb5a..4c91fa8d54 100644
--- a/ext/calendar/gregor.c
+++ b/ext/calendar/gregor.c
@@ -195,7 +195,7 @@ zend_long GregorianToSdn(
int inputMonth,
int inputDay)
{
- int year;
+ zend_long year;
int month;
/* check for invalid dates */
diff --git a/ext/calendar/julian.c b/ext/calendar/julian.c
index 904727ff04..6ab0854c3b 100644
--- a/ext/calendar/julian.c
+++ b/ext/calendar/julian.c
@@ -217,7 +217,7 @@ zend_long JulianToSdn(
int inputMonth,
int inputDay)
{
- int year;
+ zend_long year;
int month;
/* check for invalid dates */
diff --git a/ext/calendar/tests/gregoriantojd_overflow.phpt b/ext/calendar/tests/gregoriantojd_overflow.phpt
new file mode 100644
index 0000000000..a189cc80c3
--- /dev/null
+++ b/ext/calendar/tests/gregoriantojd_overflow.phpt
@@ -0,0 +1,10 @@
+--TEST--
+gregoriantojd()
+--SKIPIF--
+<?php include 'skipif.inc'; ?>
+--FILE--
+<?php
+echo gregoriantojd(5, 5, 6000000) . "\n";
+?>
+--EXPECT--
+2193176185
diff --git a/ext/calendar/tests/juliantojd_overflow.phpt b/ext/calendar/tests/juliantojd_overflow.phpt
new file mode 100644
index 0000000000..f2f5aa182d
--- /dev/null
+++ b/ext/calendar/tests/juliantojd_overflow.phpt
@@ -0,0 +1,10 @@
+--TEST--
+juliantojd()
+--SKIPIF--
+<?php include 'skipif.inc'; ?>
+--FILE--
+<?php
+echo juliantojd(5, 5, 6000000000) . "\n";
+?>
+--EXPECT--
+622764916319