|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79410 system() swallows last chunk if it is exactly 4095 bytes without newline
Submitted: 2020-03-23 20:41 UTC Modified: 2020-03-24 22:59 UTC
From: Assigned:
Status: Closed Package: Program Execution
PHP Version: Irrelevant OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
New email:
PHP Version: OS:


 [2020-03-23 20:41 UTC]
When executing a program where the output's last chunk is 4095 bytes then the last chunk is swallowed.
The script below generates 4095 dots on Linux and counts how many system()'s output contain.
None of the dots reach the output, a patch resolving this issue is attached.
The bug could already be reproduced in 5.3.0, I did not trace it back farther than that.

Test script:
# Execute command print 4095 dots
php -r 'system("printf .%.0s {1..4095}");'  | wc -c

Expected result:

Actual result:


system_4095_bytes.patch (last revision 2020-03-25 08:23 UTC by

Add a Patch

Pull Requests

Pull requests:

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2020-03-24 22:59 UTC]
-Status: Open +Status: Verified
 [2020-03-24 23:00 UTC]
The following pull request has been associated:

Patch Name: Fix Bug #79410 and add test for it
On GitHub:
 [2020-03-25 08:23 UTC]
The following patch has been added/updated:

Patch Name: system_4095_bytes.patch
Revision:   1585124605
 [2020-03-25 09:51 UTC]
Automatic comment on behalf of
Log: Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)
 [2020-03-25 09:51 UTC]
-Status: Verified +Status: Closed
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Jul 21 16:01:29 2024 UTC