|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19749 shouldn't mmap() files larger than memory_limit in _php_stream_passthru
Submitted: 2002-10-04 03:21 UTC Modified: 2004-04-21 14:04 UTC
From: Assigned: wez
Status: Closed Package: Performance problem
PHP Version: 4CVS-2002-10-04 OS: All
Private report: No CVE-ID:
 [2002-10-04 03:21 UTC]
We should check the memory limit before mmap()'ing a huge file in _php_stream_passthru()


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-05 06:34 UTC]
How do we tell when a file is too big?
We can check if the file size exceeds the memory limit, but
surely we should be checking for some size smaller than
that so that we don't exceed the limit (by too much).

 [2002-10-05 10:17 UTC]
Yup, we should do it in chunks of some fraction of memory-limit, I guess.  quarters, fiths, tenths?  It should be a decently big chunk size so there will be a good chance that many files fit into a single chunk for optimal speed.
 [2003-02-27 11:05 UTC]
Is this really a problem, passthru will immidiately output the data to screen thus making hightened memory usage a very temporary thing. If the user tries to use buffering to 'hold' the data then the memory limit will kick-in anyway. The only way I could see a user trying to 'exploit' this is by writing a file that would load a large file to memory and then manually doctoring the request to read the data 1 byte at a time. But this is hardly different from allocating just shy of the memory limit and doing the same thing with multiple scripts.
This is really no different then making SQL query create a huge temporary table consuming *any* amount of memory.
 [2003-03-09 18:42 UTC]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.

 [2004-04-21 14:04 UTC]
Fixed in PHP 5.
PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Fri Nov 27 17:01:31 2015 UTC