iliaa Thu Apr 19 23:21:22 2007 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/array bug41121.phpt
Modified files:
/php-src NEWS
/php-src/ext/standard array.c
Log:
Fixed bug #41121 (range() overflow handling for large numbers on 32bit
machines).
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.654&r2=1.2027.2.547.2.655&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.654 php-src/NEWS:1.2027.2.547.2.655
--- php-src/NEWS:1.2027.2.547.2.654 Wed Apr 18 22:53:45 2007
+++ php-src/NEWS Thu Apr 19 23:21:21 2007
@@ -2,6 +2,8 @@
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Apr 2007, PHP 5.2.2RC2
- Upgraded SQLite 3 to version 3.3.16 (Ilia)
+- Fixed bug #41121 (range() overflow handling for large numbers on 32bit
+ machines). (Ilia)
- Fixed bug #41109 (recursiveiterator.inc says "implements" Iterator instead of
"extends"). (Marcus)
- Fixed bug #41093 (magic_quotes_gpc ignores first arrays keys). (Arpad, Ilia)
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.26&r2=1.308.2.21.2.27&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.26
php-src/ext/standard/array.c:1.308.2.21.2.27
--- php-src/ext/standard/array.c:1.308.2.21.2.26 Sun Mar 18 20:20:23 2007
+++ php-src/ext/standard/array.c Thu Apr 19 23:21:21 2007
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: array.c,v 1.308.2.21.2.26 2007/03/18 20:20:23 wez Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.27 2007/04/19 23:21:21 iliaa Exp $ */
#include "php.h"
#include "php_ini.h"
@@ -1718,13 +1718,13 @@
add_next_index_double(return_value, low);
}
} else {
- int low, high;
+ double low, high;
long lstep;
long_str:
- convert_to_long(zlow);
- convert_to_long(zhigh);
- low = Z_LVAL_P(zlow);
- high = Z_LVAL_P(zhigh);
+ convert_to_double(zlow);
+ convert_to_double(zhigh);
+ low = Z_DVAL_P(zlow);
+ high = Z_DVAL_P(zhigh);
lstep = (long) step;
if (low > high) { /* Negative steps */
@@ -1733,18 +1733,18 @@
goto err;
}
for (; low >= high; low -= lstep) {
- add_next_index_long(return_value, low);
+ add_next_index_long(return_value, (long)low);
}
- } else if (high > low) { /* Positive steps */
+ } else if (high > low) { /* Positive steps */
if (high - low < lstep || lstep <= 0) {
err = 1;
goto err;
}
for (; low <= high; low += lstep) {
- add_next_index_long(return_value, low);
+ add_next_index_long(return_value, (long)low);
}
} else {
- add_next_index_long(return_value, low);
+ add_next_index_long(return_value, (long)low);
}
}
err:
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug41121.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/bug41121.phpt
+++ php-src/ext/standard/tests/array/bug41121.phpt
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php