summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2013-05-22 08:29:08 +0200
committerRemi Collet <remi@php.net>2013-05-22 08:29:08 +0200
commit73eedaf6f74e362a3ff2fdc9cec67148c232d2bf (patch)
tree011d6b63237bc958e87ff8de153263d04662f172
parent013797588a23a00f4183f9ce1606c988ed9c3eb6 (diff)
parentfc2a9d6e47ae23adb28122539b56df0d6195bdce (diff)
downloadphp-git-73eedaf6f74e362a3ff2fdc9cec67148c232d2bf.tar.gz
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3: Fixed bug #64895 Integer overflow in SndToJewish
-rw-r--r--ext/calendar/jewish.c2
-rw-r--r--ext/calendar/tests/jdtojewish64.phpt5
2 files changed, 4 insertions, 3 deletions
diff --git a/ext/calendar/jewish.c b/ext/calendar/jewish.c
index 1e7a06c8a6..fcc0e5c0b8 100644
--- a/ext/calendar/jewish.c
+++ b/ext/calendar/jewish.c
@@ -272,7 +272,7 @@
#define HALAKIM_PER_METONIC_CYCLE (HALAKIM_PER_LUNAR_CYCLE * (12 * 19 + 7))
#define JEWISH_SDN_OFFSET 347997
-#define JEWISH_SDN_MAX 38245310 /* year 103759, 100000 A.D. */
+#define JEWISH_SDN_MAX 324542846L /* 12/13/887605, greater value raises interger overflow */
#define NEW_MOON_OF_CREATION 31524
#define SUNDAY 0
diff --git a/ext/calendar/tests/jdtojewish64.phpt b/ext/calendar/tests/jdtojewish64.phpt
index 50f7f33c7b..9f01109a71 100644
--- a/ext/calendar/tests/jdtojewish64.phpt
+++ b/ext/calendar/tests/jdtojewish64.phpt
@@ -1,5 +1,5 @@
--TEST--
-Integer overflow in SndToJewish leads to php hang
+Bug #64895: Integer overflow in SndToJewish
--SKIPIF--
<?php
include 'skipif.inc';
@@ -9,10 +9,11 @@ if (PHP_INT_SIZE == 4) {
?>
--FILE--
<?php
-$a = array(38245310, 38245311, 9223372036854743639);
+$a = array(38245310, 324542846, 324542847, 9223372036854743639);
foreach ($a as $x) var_dump(jdtojewish($x));
--EXPECTF--
string(11) "2/22/103759"
+string(12) "12/13/887605"
string(5) "0/0/0"
string(5) "0/0/0"