diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-29 17:34:08 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-29 17:34:16 +0200 |
commit | 44fe025c2839b9da51c3b0a0ea90382ac9c14fd4 (patch) | |
tree | cf54c18f206d92f7e39752e71b5c30335259d605 /main | |
parent | bbed5564eb8155efb14146e11ef0ad67edb20e28 (diff) | |
parent | dc7aa22b18b710aaa837c9466e9a77241f909c8a (diff) | |
download | php-git-44fe025c2839b9da51c3b0a0ea90382ac9c14fd4.tar.gz |
Merge branch 'PHP-7.2' into PHP-7.3
Diffstat (limited to 'main')
-rw-r--r-- | main/streams/streams.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c index 626c7f6a54..4b9c344dd2 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1413,8 +1413,13 @@ PHPAPI zend_string *_php_stream_copy_to_mem(php_stream *src, size_t maxlen, int ptr += ret; } if (len) { - *ptr = '\0'; ZSTR_LEN(result) = len; + ZSTR_VAL(result)[len] = '\0'; + + /* Only truncate if the savings are large enough */ + if (len < maxlen / 2) { + result = zend_string_truncate(result, len, persistent); + } } else { zend_string_free(result); result = NULL; |