php.net |  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: [email protected] Assigned: wez (profile)
Status: Closed Package: Performance problem
PHP Version: 4CVS-2002-10-04 OS: All
Private report: No CVE-ID: None
 [2002-10-04 03:21 UTC] [email protected]
We should check the memory limit before mmap()'ing a huge file in _php_stream_passthru()

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-05 06:34 UTC] [email protected]
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] [email protected]
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] [email protected]
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] [email protected]
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] [email protected]
Fixed in PHP 5.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Dec 31 04:00:01 2025 UTC