summaryrefslogtreecommitdiff
path: root/ext/standard
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-11-13 11:05:05 +0800
committerXinchen Hui <laruence@gmail.com>2017-11-13 11:13:27 +0800
commit1c1df0d9370fa5a14644850f09a7f9377bfc83be (patch)
treec6f93f45331265b4ac1dc6dd1677996f9a0bbe89 /ext/standard
parent0bbb545c77916507620c5d3cde7cce6c51da1397 (diff)
downloadphp-git-1c1df0d9370fa5a14644850f09a7f9377bfc83be.tar.gz
Fixed bug #75511 (fread not free unused buffer)
Diffstat (limited to 'ext/standard')
-rw-r--r--ext/standard/file.c4
1 files changed, 4 insertions, 0 deletions
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);
+ }
}
/* }}} */