]> granicus.if.org Git - php/commitdiff
Fixed bug #64895 Integer overflow in SndToJewish
authorRemi Collet <remi@php.net>
Wed, 22 May 2013 06:28:05 +0000 (08:28 +0200)
committerRemi Collet <remi@php.net>
Wed, 22 May 2013 06:28:05 +0000 (08:28 +0200)
NEWS
ext/calendar/jewish.c
ext/calendar/tests/jdtojewish64.phpt

diff --git a/NEWS b/NEWS
index ce86bb2f588a6a7a47277ad30fbe8e885bf73932..23f1e8e1a8f5164125652aaca77f9e6cbaceb194 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2013, PHP 5.3.26
 
+- Calendar:
+  . Fixed bug #64895 (Integer overflow in SndToJewish). (Remi)
+
 - FPM:
   . Fixed some possible memory or resource leaks and possible null dereference
     detected by code coverity scan. (Remi)
index 1e7a06c8a6dd0d6bf3b24f912a7fd40b53cbef69..fcc0e5c0b878ebdd41dfeaecf148b755cd5e6f2d 100644 (file)
 #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
index 50f7f33c7baaab1c12ef5b37cf830f1b14f17ac6..9f01109a71c2936065e5eaa68b38bade5f063fa7 100644 (file)
@@ -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"