Edit report at https://bugs.php.net/bug.php?id=51105&edit=1

 ID:                 51105
 Comment by:         firexware at gmail dot com
 Reported by:        r3d dot w0rm at yahoo dot com
 Summary:            PHP str_repeat() Function Integer Overflow
 Status:             Bogus
 Type:               Bug
 Package:            Strings related
 Operating System:   All
 PHP Version:        5.3.2RC2
 Block user comment: N
 Private report:     N

 New Comment:

The problem was not reproducible because you were using 64-bit php which uses 
64-bit signed integers.

Try this:

<?php
$str1 = str_repeat('0x0x0x0x', 18446744073709551615);
echo "all good so far...\n";
$str2 = str_repeat('0x0x0x0x', 2305843009213693952);
?>

18446744073709551615 is 2^64 - 1, which is -1 in two's compliment.
2305843009213693952 is 2^61

Output:

all good so far...
PHP Fatal error:  Possible integer overflow in memory allocation (8 * 
2305843009213693952 + 1) in /tmp/test.php on line 4

Expected output:

PHP Fatal error:  Possible integer overflow in memory allocation (8 * 
18446744073709551615 + 1) in /tmp/test.php on line 2
all good so far...
PHP Fatal error:  Possible integer overflow in memory allocation (8 * 
2305843009213693952 + 1) in /tmp/test.php on line 4


Previous Comments:
------------------------------------------------------------------------
[2010-10-16 00:31:43] [email protected]

I cannot reproduce this. (probably already fixed)

------------------------------------------------------------------------
[2010-07-16 01:41:46] php at crummett dot us

PHP says you do not have enough memory to do this. The string generated would 
be 8GiB in size.

Also, this can be simplified as:

Reproduce code:
---------------
<?php
str_repeat('0x0x0x0x',999999999);

Actual result:
---------------
Fatal error: Possible integer overflow in memory allocation (8 * 999999999 + 1) 
in crash.php  on line 2

------------------------------------------------------------------------
[2010-03-01 01:00:01] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------
[2010-02-21 17:26:53] [email protected]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.



------------------------------------------------------------------------
[2010-02-21 16:33:01] r3d dot w0rm at yahoo dot com

Os : win Xp Sp 2 , Fedora 11
Cpu : 2.2

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=51105


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=51105&edit=1

Reply via email to