diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-11-13 11:05:05 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-11-13 11:13:27 +0800 |
commit | 1c1df0d9370fa5a14644850f09a7f9377bfc83be (patch) | |
tree | c6f93f45331265b4ac1dc6dd1677996f9a0bbe89 | |
parent | 0bbb545c77916507620c5d3cde7cce6c51da1397 (diff) | |
download | php-git-1c1df0d9370fa5a14644850f09a7f9377bfc83be.tar.gz |
Fixed bug #75511 (fread not free unused buffer)
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | ext/standard/file.c | 4 |
2 files changed, 7 insertions, 0 deletions
@@ -6,6 +6,9 @@ PHP NEWS . Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand). (Anatol) +- Standard: + . Fixed bug #75511 (fread not free unused buffer). (Laruence) + 23 Nov 2017, PHP 7.1.12 - Core: diff --git a/ext/standard/file.c b/ext/standard/file.c index 52aa07b0b6..da10f58b65 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1771,6 +1771,10 @@ PHPAPI PHP_FUNCTION(fread) /* needed because recv/read/gzread doesnt put a null at the end*/ Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0; + + if (len > Z_STRLEN_P(return_value) * 2) { + Z_STR_P(return_value) = zend_string_truncate(Z_STR_P(return_value), Z_STRLEN_P(return_value), 0); + } } /* }}} */ |