summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--ext/standard/file.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 05bbd5c06d..8b592a410e 100644
--- a/NEWS
+++ b/NEWS
@@ -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);
+ }
}
/* }}} */