ID:               29100
 Updated by:       [EMAIL PROTECTED]
 Reported By:      pickleman78 at sbcglobal dot net
-Status:           Open
+Status:           Bogus
 Bug Type:         Reproducible crash
 Operating System: WIndows XP
 PHP Version:      4.3.6
 New Comment:

emalloc() deosn't *actually* try to allocate the memory.  It checks
your requested amount against the php.ini setting and if it's too high,
throws a fatal error.

It has to be a fatal error because your script has outrun its
resources, and it's impossible to predict whether or not it can safely
continue operations in that condition.


Previous Comments:
------------------------------------------------------------------------

[2004-07-11 22:40:59] pickleman78 at sbcglobal dot net

Description:
------------
I am getting a crash from PHP when I mistakenly attempt to read
1,761,607,681 bytes from an incoming socket. Now I would reasonably
assume that since this is far above the memory limit set in my PHP.ini
file 
memory_limit = 8M
I would expect it to stop before even attempting to allocate such a
rediculous ammount of memory for the script. In this case it fails with
a
FATAL:  emalloc() unable to allocate 1761607681 bytes. Should this be
what it does? I would expect it to issue an ERROR as opposed to
crashing.

Reproduce code:
---------------
<?php
$fp=fsockopen("http://php.net";);
$data=fread($fp,1761607681);
?>

Expected result:
----------------
It would be expected to receive an error as opposed to PHP trying to
allocate this memory

Actual result:
--------------
Stated above, causes
FATAL: emalloc() could not......


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


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

Reply via email to