Bug #79410 [PATCH]: system() swallows last chunk if it is exactly 4095 bytes without newline
| From: | cmb@php.net | Date: | Tue, 24 Mar 2020 23:00:19 +0000 |
| Subject: | Bug #79410 [PATCH]: system() swallows last chunk if it is exactly 4095 bytes without newline | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-226250@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79410&edit=1
ID: 79410
Patch added by: cmb@php.net
Reported by: cschneid@php.net
Summary: system() swallows last chunk if it is exactly 4095
bytes without newline
Status: Verified
Type: Bug
Package: Program Execution
Operating System: *
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Fix Bug #79410 and add test for it
On GitHub: https://github.com/php/php-src/pull/5292
Patch: https://github.com/php/php-src/pull/5292.patch
Previous Comments:
------------------------------------------------------------------------
[2020-03-23 20:41:35] cschneid@php.net
Description:
------------
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:
----------------
4095
Actual result:
--------------
0
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79410&edit=1