php-src/ext/standard
Christoph M. Becker 65f5573bc8 Fix #77069: stream filter loses final block of data
Reading from a stream may return greater than zero, but nonetheless the
stream's EOF flag may have been set.  We have to cater to this
condition by setting the close flag for filters.

We also have to cater to that change in the zlib.inflate filter:

If `inflate()` is called with flush mode `Z_FINISH`, but the output
buffer is not large enough to inflate all available data, it fails with
`Z_BUF_ERROR`.  However, `Z_BUF_ERROR` is not fatal; in fact, the zlib
manual states: "If deflate returns with Z_OK or Z_BUF_ERROR, this
function must be called again with Z_FINISH and more output space
(updated avail_out) but no more input data, until it returns with
Z_STREAM_END or an error."  Hence, we do so.

Closes GH-6001.
2020-12-08 11:47:49 +01:00
..
html_tables Update and fix remaining year ranges (2019) 2019-02-08 23:14:29 +01:00
tests Fix #77069: stream filter loses final block of data 2020-12-08 11:47:49 +01:00
array.c Merge branch 'PHP-7.3' into PHP-7.4 2020-08-05 15:44:00 +02:00
assert.c Cheaper checks for exceptions thrown from __toString() 2019-06-06 01:47:22 +03:00
base64.c Remove dead code in base64.c 2019-08-20 21:42:06 +02:00
base64.h neon vectorization for base64 2019-07-11 12:04:29 +03:00
basic_functions.c Fix potential environment variable deadlock 2020-06-24 11:44:07 +02:00
basic_functions.h Add max_depth option to unserialize() 2019-09-30 10:28:24 +02:00
browscap.c Introduce zend_stream_init_fp() API 2019-07-16 16:44:37 +02:00
config.m4 Merge branch 'PHP-7.3' into PHP-7.4 2020-10-05 10:46:46 +02:00
config.w32 Merge branch 'PHP-7.3' into PHP-7.4 2020-10-26 11:05:22 +01:00
crc32.c Properly detect CRC32 APIs on aarch64 from configure 2020-05-14 09:38:05 +02:00
crc32.h Remove local variables 2019-02-03 21:03:00 +01:00
credits_ext.h Update CREDITS for PHP 7.2.30 2020-04-14 15:16:26 +00:00
credits_sapi.h Update CREDITS for PHP 7.2.30 2020-04-14 15:16:26 +00:00
credits.c Put phpinfo() related code into cold code segment 2019-05-28 11:04:13 +03:00
credits.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
crypt_blowfish.c Remove unused Git attributes ident 2018-07-25 00:53:25 +02:00
crypt_blowfish.h Remove unused Git attributes ident 2018-07-25 00:53:25 +02:00
crypt_freesec.c Use unsigned char in _crypt_extended_r 2019-06-19 15:09:00 +02:00
crypt_freesec.h Use unsigned char in _crypt_extended_r 2019-06-19 15:09:00 +02:00
crypt_sha256.c Remove HAVE_STRING_H 2018-09-18 05:32:08 +02:00
crypt_sha512.c Remove HAVE_STRING_H 2018-09-18 05:32:08 +02:00
crypt.c Handle *0 / *1 more consistently 2020-06-24 12:22:07 +02:00
css.c Put phpinfo() related code into cold code segment 2019-05-28 11:04:13 +03:00
css.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
cyr_convert.c Remove local variables 2019-02-03 21:03:00 +01:00
cyr_convert.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
datetime.c Remove local variables 2019-02-03 21:03:00 +01:00
datetime.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
dir.c Remove local variables 2019-02-03 21:03:00 +01:00
dl.c Fix signature and calls 2019-08-27 14:34:35 +02:00
dl.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
dns_win32.c Merge branch 'PHP-7.3' into PHP-7.4 2020-05-04 23:00:56 +02:00
dns.c Merge branch 'PHP-7.3' into PHP-7.4 2020-08-10 21:53:20 +02:00
exec.c Merge branch 'PHP-7.3' into PHP-7.4 2020-04-13 21:09:15 -07:00
exec.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
file.c Merge branch 'PHP-7.3' into PHP-7.4 2020-06-30 10:48:07 +02:00
file.h Merge branch 'PHP-7.2' into PHP-7.3 2019-09-15 15:13:13 +02:00
filestat.c Remove local variables 2019-02-03 21:03:00 +01:00
filters.c Merge branch 'PHP-7.3' into PHP-7.4 2020-06-08 23:22:49 +02:00
flock_compat.c Remove local variables 2019-02-03 21:03:00 +01:00
flock_compat.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
formatted_print.c Allow exceptions in __toString() 2019-06-05 14:25:07 +02:00
fsock.c Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference 2019-04-24 18:28:29 +03:00
fsock.h Remove local variables 2019-02-03 21:03:00 +01:00
ftok.c Remove local variables 2019-02-03 21:03:00 +01:00
ftp_fopen_wrapper.c Report errors from stream read and write operations 2019-07-22 17:17:28 +02:00
head.c Fix #79174: cookie values with spaces fail to round-trip 2020-01-28 15:37:01 +01:00
head.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
hrtime.c Remove local variables 2019-02-03 21:03:00 +01:00
hrtime.h Merge branch 'PHP-7.3' into PHP-7.4 2019-11-08 08:02:49 -07:00
html_tables.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
html.c Convert E_STRICT into E_NOTICE for htmlentities() function 2019-07-18 11:13:18 +02:00
html.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
http_fopen_wrapper.c Merge branch 'PHP-7.3' into PHP-7.4 2020-02-24 10:20:43 +01:00
http.c Fix memcpy null arg UB 2019-06-19 15:09:00 +02:00
image.c Fix #79877: getimagesize function silently truncates after a null byte 2020-08-03 01:09:44 -07:00
incomplete_class.c Remove local variables 2019-02-03 21:03:00 +01:00
info.c Put phpinfo() related code into cold code segment 2019-05-28 11:04:13 +03:00
info.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
iptc.c Fix #80366: Return Value of zend_fstat() not Checked 2020-11-24 13:09:16 +01:00
lcg.c Remove local variables 2019-02-03 21:03:00 +01:00
levenshtein.c Remove local variables 2019-02-03 21:03:00 +01:00
link.c Merge link.c and link_win32.c 2019-04-22 13:53:17 +02:00
mail.c Merge branch 'PHP-7.3' into PHP-7.4 2020-01-06 14:48:46 +01:00
Makefile.frag Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00
Makefile.frag.w32 Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00
math.c Deprecate passing invalid character to base_convert etc 2019-07-08 12:49:21 +02:00
md5.c Use explicit unaligned type in md5 implementation 2019-08-29 14:47:03 +02:00
md5.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
metaphone.c Remove local variables 2019-02-03 21:03:00 +01:00
microtime.c Clarify that our usage of gettimeofday() is infallible 2019-09-09 17:11:22 +02:00
microtime.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
mt_rand.c Remove local variables 2019-02-03 21:03:00 +01:00
net.c list net/interfaces, trying to get the error on windows when possible 2019-05-24 10:22:39 +02:00
pack.c Merge branch 'PHP-7.3' into PHP-7.4 2019-12-02 11:21:07 +01:00
pack.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
pageinfo.c Remove local variables 2019-02-03 21:03:00 +01:00
pageinfo.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
password.c Fix #78969 Make PASSWORD_DEFAULT match PASSWORD_BCRYPT instead of being null 2020-01-27 13:57:00 +01:00
php_array.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_assert.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_browscap.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_crypt_r.c Always use ZEND_SECURE_ZERO() when cleaning up data 2019-04-06 18:15:42 -07:00
php_crypt_r.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_crypt.h Remove local variables 2019-02-03 21:03:00 +01:00
php_dir.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_dns.h Fix unsigned char mismatch 2019-06-12 14:58:06 +02:00
php_ext_syslog.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_filestat.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_fopen_wrapper.c Merge branch 'PHP-7.3' into PHP-7.4 2019-10-08 12:35:35 +02:00
php_fopen_wrappers.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_ftok.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_http.h Remove local variables 2019-02-03 21:03:00 +01:00
php_image.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_incomplete_class.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_iptc.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_lcg.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_link.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_mail.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_math.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_metaphone.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_mt_rand.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_net.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_password.h Fix #78269 password_hash uses weak options for argon2 2019-07-15 14:11:30 +02:00
php_rand.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_random.h Merge branch 'PHP-7.3' into PHP-7.4 2019-11-08 08:02:49 -07:00
php_smart_string_public.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_smart_string.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_standard.h Remove local variables 2019-02-03 21:03:00 +01:00
php_string.h Remove HAVE_STRCOLL check 2019-06-28 00:05:55 +02:00
php_type.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
php_uuencode.h Remove local variables 2019-02-03 21:03:00 +01:00
php_var.h Add max_depth option to unserialize() 2019-09-30 10:28:24 +02:00
php_versioning.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
proc_open.c Create a new console for each test worker on Windows 2020-02-17 18:52:45 +01:00
proc_open.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
quot_print.c Remove local variables 2019-02-03 21:03:00 +01:00
quot_print.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
rand.c Remove local variables 2019-02-03 21:03:00 +01:00
random.c Use unsigned subtraction in php_random_int() 2019-09-03 12:28:18 +02:00
scanf.c Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference 2019-04-24 18:28:29 +03:00
scanf.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
sha1.c Report errors from stream read and write operations 2019-07-22 17:17:28 +02:00
sha1.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
soundex.c Remove local variables 2019-02-03 21:03:00 +01:00
streamsfuncs.c Merge branch 'PHP-7.3' into PHP-7.4 2020-12-02 11:29:06 +01:00
streamsfuncs.h Remove local variables 2019-02-03 21:03:00 +01:00
string.c Merge branch 'PHP-7.3' into PHP-7.4 2020-08-24 11:09:38 +02:00
strnatcmp.c [ci skip] Remove text editor modelines 2019-03-23 21:09:38 +01:00
syslog.c Remove local variables 2019-02-03 21:03:00 +01:00
type.c settype() optimization 2019-04-24 22:23:49 +03:00
uniqid.c Remove local variables 2019-02-03 21:03:00 +01:00
uniqid.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
url_scanner_ex.h Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
url_scanner_ex.re Use XtOffsetOf() in url_scanner_ex 2019-09-14 00:25:14 +02:00
url.c Merge branch 'PHP-7.3' into PHP-7.4 2020-11-04 14:54:32 +01:00
url.h Merge branch 'PHP-7.3' into PHP-7.4 2020-11-04 14:54:32 +01:00
user_filters.c Merge branch 'PHP-7.3' into PHP-7.4 2020-09-08 18:08:38 +02:00
uuencode.c Use unsigned chars in php_uuencode() 2019-06-19 15:09:00 +02:00
var_unserializer.re Add max_depth option to unserialize() 2019-09-30 10:28:24 +02:00
var.c Fixed bug #80411 2020-11-25 17:23:42 +01:00
versioning.c Remove local variables 2019-02-03 21:03:00 +01:00
winver.h