]>
granicus.if.org Git - php/log
Nikita Popov [Wed, 9 Oct 2019 14:59:38 +0000 (16:59 +0200)]
Fixed bug #78658
Nikita Popov [Wed, 9 Oct 2019 12:58:01 +0000 (14:58 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 9 Oct 2019 12:57:24 +0000 (14:57 +0200)]
Remove redundant components < 0 check
components is an unsigned number, it cannot be smaller than zero.
Nikita Popov [Tue, 8 Oct 2019 14:13:17 +0000 (16:13 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Sergei Turchanov [Tue, 8 Oct 2019 07:55:07 +0000 (17:55 +1000)]
Add pcre_get_compiled_regex_cache_ex() with local_aware flag
A new function `pcre_get_compiled_regex_cache_ex()` is introduced,
which allows to compile regexp pattern using the "C" locale instead
of a current locale.
This will be needed to replace setlocale() usage in fileinfo,
which is not thread-safe.
Christoph M. Becker [Tue, 8 Oct 2019 12:12:12 +0000 (14:12 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Add missing SKIPIFs in exif tests
Fabien Villepinte [Tue, 8 Oct 2019 11:50:03 +0000 (13:50 +0200)]
Add missing SKIPIFs in exif tests
Nikita Popov [Tue, 8 Oct 2019 10:18:59 +0000 (12:18 +0200)]
Check for exception after applying stream filters
This makes the stream opening actually fail, and avoids assertion
failures when we tokenize with EG(exception) set.
Also avoid throwing an additional warning after an exception has
already been thrown.
Christoph M. Becker [Tue, 8 Oct 2019 10:09:46 +0000 (12:09 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78642: Wrong libiconv version displayed
Christoph M. Becker [Tue, 8 Oct 2019 10:09:11 +0000 (12:09 +0200)]
Fix #78642: Wrong libiconv version displayed
The high byte of `_libiconv_version` specifies the major version; the
low byte the minor version.
Christoph M. Becker [Tue, 8 Oct 2019 10:04:25 +0000 (12:04 +0200)]
7.3.12 is next
Remi Collet [Tue, 8 Oct 2019 09:36:36 +0000 (11:36 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
next is 7.2.25
Remi Collet [Tue, 8 Oct 2019 09:36:10 +0000 (11:36 +0200)]
next is 7.2.25
Christoph M. Becker [Tue, 8 Oct 2019 07:45:42 +0000 (09:45 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78641: addGlob can modify given remove_path value
Christoph M. Becker [Tue, 8 Oct 2019 07:25:56 +0000 (09:25 +0200)]
Fix #78641: addGlob can modify given remove_path value
`remove_path` points to the given string, so we must not modify it.
Instead we use a duplicate, if we need the modification.
We may want to switch to `zend_string`s in master.
Nikita Popov [Mon, 7 Oct 2019 15:52:35 +0000 (17:52 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 7 Oct 2019 15:40:59 +0000 (17:40 +0200)]
Check for object_init_ex() failure in user filter factory
Nikita Popov [Mon, 7 Oct 2019 14:44:31 +0000 (16:44 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 7 Oct 2019 14:43:19 +0000 (16:43 +0200)]
Set session.gc_probability=0 in bug78624.phpt
We only want to test manually triggered session GC.
Avoid spurious output due to automatic GC.
Nikita Popov [Mon, 7 Oct 2019 11:21:36 +0000 (13:21 +0200)]
Backport fix for uaf during pcre jit fallback
Backports parts of https://vcs.pcre.org/pcre2?view=revision&revision=1175
fixing https://bugs.exim.org/show_bug.cgi?id=2453.
Christoph M. Becker [Mon, 7 Oct 2019 07:17:03 +0000 (09:17 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78623: Regression caused by "SP call yields additional empty result set"
Christoph M. Becker [Mon, 7 Oct 2019 06:58:11 +0000 (08:58 +0200)]
Fix #78623: Regression caused by "SP call yields additional empty result set"
This reverts commit
41a4379cb45419a376043ca5f8c5a2bca82cea7c .
Nikita Popov [Fri, 4 Oct 2019 20:42:14 +0000 (22:42 +0200)]
Make sure T_ERROR is returned for all lexer exceptions
This originally manifested as a leak in oss-fuzz #18000. The following
is a reduced test case:
<?php
[
5 => 1,
"foo" > 1,
" " => "" == 0
];
<<<BAR
$x
BAR;
Because this particular error condition did not return T_ERROR,
EG(exception) was set while performing binary operation constant
evaluation, which checks exceptions for cast failures.
Instead of adding this indirect test case, I'm adding an assertion
that the lexer has to return T_ERROR if EG(exception) is set.
Nikita Popov [Fri, 4 Oct 2019 14:01:10 +0000 (16:01 +0200)]
Improve diagnostic on PCRE JIT mmap failure
Print a more informative message that indicates that this is
likely a permission issue, and also indicate that pcre.jit=0
can be used to work around it.
Also automatically disable the JIT, so that this message is
only shown once.
See bug #78630.
Christoph M. Becker [Fri, 4 Oct 2019 11:53:58 +0000 (13:53 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Split intl tests for ICU 65
Christoph M. Becker [Fri, 4 Oct 2019 10:48:40 +0000 (12:48 +0200)]
Split intl tests for ICU 65
Christoph M. Becker [Fri, 4 Oct 2019 07:09:25 +0000 (09:09 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78620: Out of memory error
Christoph M. Becker [Thu, 3 Oct 2019 17:23:05 +0000 (19:23 +0200)]
Fix #78620: Out of memory error
The integer addition in `ZEND_MM_ALIGNED_SIZE_EX` can overflow, what we
have to catch early.
Joe Watkins [Fri, 4 Oct 2019 04:12:15 +0000 (06:12 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
fix #78624: session_gc return value for user defined session handlers
Brent Shaffer [Wed, 2 Oct 2019 23:44:58 +0000 (16:44 -0700)]
fix #78624: session_gc return value for user defined session handlers
Joe Watkins [Thu, 3 Oct 2019 04:56:45 +0000 (06:56 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix bug #76809 (SSL settings aren't respected when persistent connection is reused)
Fábio Souto [Mon, 3 Sep 2018 16:18:37 +0000 (17:18 +0100)]
Fix bug #76809 (SSL settings aren't respected when persistent connection is reused)
Joe Watkins [Thu, 3 Oct 2019 04:50:58 +0000 (06:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #76859 stream_get_line skips data if used with data-generating filter
Konstantin Kopachev [Tue, 18 Sep 2018 04:44:01 +0000 (21:44 -0700)]
Fix #76859 stream_get_line skips data if used with data-generating filter
stream_get-line repeatedly calls php_stream_fill_read_buffer until
enough data is accumulated in buffer. However, when stream contains
filters attached to it, then each call to fill buffer essentially
resets buffer read/write pointers and new data is written over old.
This causes stream_get_line to skip parts of data from stream
This patch fixes such behavior, so fill buffer call will append.
Derick Rethans [Wed, 2 Oct 2019 22:39:09 +0000 (23:39 +0100)]
Updated to version 2019.3 (2019c)
Christoph M. Becker [Wed, 2 Oct 2019 17:02:12 +0000 (19:02 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Revert "Fix #78620: Out of memory error"
Christoph M. Becker [Wed, 2 Oct 2019 17:01:35 +0000 (19:01 +0200)]
Revert "Fix #78620: Out of memory error"
This reverts commit
8ce04df7e0108a10f7b782a28204e9384ab1129c .
Cf. <https://github.com/php/php-src/pull/4766#discussion_r330658679>.
Christoph M. Becker [Wed, 2 Oct 2019 16:19:53 +0000 (18:19 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78620: Out of memory error
Christoph M. Becker [Wed, 2 Oct 2019 14:42:28 +0000 (16:42 +0200)]
Fix #78620: Out of memory error
If the integer addition in `ZEND_MM_ALIGNED_SIZE_EX` overflows, the
macro evaluates to `0`, what we should catch early.
Nikita Popov [Wed, 2 Oct 2019 10:07:19 +0000 (12:07 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 2 Oct 2019 10:06:00 +0000 (12:06 +0200)]
Fix segfault with __COMPILER_HALT_OFFSET__ and trailing {}
Fixes OSS-Fuzz #17895.
Dmitry Stogov [Tue, 1 Oct 2019 21:57:16 +0000 (00:57 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fixed test that "fails" from time to time
Dmitry Stogov [Tue, 1 Oct 2019 21:54:59 +0000 (00:54 +0300)]
Fixed test that "fails" from time to time
Dmitry Stogov [Tue, 1 Oct 2019 21:49:27 +0000 (00:49 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fixed test that "fails" from time to time
Dmitry Stogov [Tue, 1 Oct 2019 21:48:42 +0000 (00:48 +0300)]
Fixed test that "fails" from time to time
Christoph M. Becker [Tue, 1 Oct 2019 09:15:12 +0000 (11:15 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Add missing skip keyword in tests
Fabien Villepinte [Tue, 1 Oct 2019 08:59:40 +0000 (10:59 +0200)]
Add missing skip keyword in tests
Nikita Popov [Mon, 30 Sep 2019 13:06:23 +0000 (15:06 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 30 Sep 2019 13:05:35 +0000 (15:05 +0200)]
Fixed bug #78612
Christoph M. Becker [Mon, 30 Sep 2019 11:04:24 +0000 (13:04 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78609: mb_check_encoding() no longer supports stringable objects
Sergei Turchanov [Wed, 28 Aug 2019 04:37:52 +0000 (14:37 +1000)]
Fix #78413: php-fpm request_terminate_timeout does not take effect after fastcgi_finish_request
To retain legacy behavior I decided to add an option to control request
termination logic. If request_terminate_timeout_track_finished is set,
then request will be tracked for time limits even after
fastcgi_finish_request was called.
This patch depends on the fix provided in BUG 78469 (otherwise php-fpm
workers listening on named pipes on Windows will be erroneously terminated)
(PR #4636)
Christoph M. Becker [Mon, 30 Sep 2019 09:07:03 +0000 (11:07 +0200)]
Fix #78609: mb_check_encoding() no longer supports stringable objects
We apply type juggling for other types than array.
Christoph M. Becker [Sun, 29 Sep 2019 11:34:16 +0000 (13:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix build for libzip < 0.11.2
Christoph M. Becker [Sun, 29 Sep 2019 11:31:22 +0000 (13:31 +0200)]
Fix build for libzip < 0.11.2
We must not define method entries, if the actual method definitions or
the arginfo structures are not defined.
Nikita Popov [Sat, 28 Sep 2019 15:15:36 +0000 (17:15 +0200)]
Don't throw warnings during heredoc scan-ahead
Otherwise these warnings will turn up twice (or more...)
Christoph M. Becker [Fri, 27 Sep 2019 14:04:00 +0000 (16:04 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix SKIPIF in ext/mysqli
Fabien Villepinte [Fri, 27 Sep 2019 12:06:17 +0000 (14:06 +0200)]
Fix SKIPIF in ext/mysqli
Christoph M. Becker [Fri, 27 Sep 2019 10:51:21 +0000 (12:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix skipif.inc
Christoph M. Becker [Fri, 27 Sep 2019 10:50:04 +0000 (12:50 +0200)]
Fix skipif.inc
Nikita Popov [Thu, 26 Sep 2019 11:47:19 +0000 (13:47 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 26 Sep 2019 11:45:45 +0000 (13:45 +0200)]
Fix memory leak with ** on array operands
Nikita Popov [Thu, 26 Sep 2019 08:25:40 +0000 (10:25 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 26 Sep 2019 08:24:49 +0000 (10:24 +0200)]
Fix null-pointer deref in if stmt printing
Fixes OSS-Fuzz #17721.
Nikita Popov [Wed, 25 Sep 2019 08:34:25 +0000 (10:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Jinesh Patel [Mon, 29 Jul 2019 18:19:52 +0000 (14:19 -0400)]
Fix hash key length in umsg_parse_format()
Fix array length passed to zend_hash_str_find_ptr() casting from
UChar array to char array requires mul by sizeof(UChar).
Christoph M. Becker [Tue, 24 Sep 2019 09:13:55 +0000 (11:13 +0200)]
Update NEWS
Christoph M. Becker [Fri, 20 Sep 2019 17:02:22 +0000 (19:02 +0200)]
Fix #78559: Heap buffer overflow in mb_eregi
We backport kkos/oniguruma@
d3e402928b6eb3327f8f7d59a9edfa622fec557b .
Christoph M. Becker [Mon, 23 Sep 2019 21:01:38 +0000 (23:01 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix NEWS entry
Christoph M. Becker [Mon, 23 Sep 2019 20:59:55 +0000 (22:59 +0200)]
Fix NEWS entry
Cf. <https://bugs.php.net/78590>.
Nikita Popov [Mon, 23 Sep 2019 15:18:33 +0000 (17:18 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 23 Sep 2019 15:17:52 +0000 (17:17 +0200)]
Fix skipif condition
Nikita Popov [Mon, 23 Sep 2019 14:42:33 +0000 (16:42 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 23 Sep 2019 14:42:24 +0000 (16:42 +0200)]
Skip test on 32-bit
Nikita Popov [Mon, 23 Sep 2019 12:52:32 +0000 (14:52 +0200)]
Skip test on 32-bit
Nikita Popov [Mon, 23 Sep 2019 11:47:05 +0000 (13:47 +0200)]
Commit regenerated var_unserializer.c
Nikita Popov [Mon, 23 Sep 2019 11:18:39 +0000 (13:18 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 23 Sep 2019 11:16:58 +0000 (13:16 +0200)]
Fix signed integer overflow in SplObjectStorage unserialization
If count is ZEND_LONG_MIN the count-- loop underflows. This is
ultimately harmless, but results in a ubsan warning.
Fix this by adding a sanity check that the count isn't negative,
because that doesn't make sense...
Nikita Popov [Mon, 23 Sep 2019 11:06:55 +0000 (13:06 +0200)]
Fix ubsan violation in parse_iv2
This fixes two issues:
* Negative the value in an unsigned type to avoid signed overflow.
* Treat -0 as 0 rather than an invalid number that gets converted
to ZEND_LONG_MIN.
Christoph M. Becker [Sun, 22 Sep 2019 16:42:40 +0000 (18:42 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix test to be skipped if dom is not available
Christoph M. Becker [Sun, 22 Sep 2019 16:39:55 +0000 (18:39 +0200)]
Fix test to be skipped if dom is not available
Nikita Popov [Sun, 22 Sep 2019 10:10:42 +0000 (12:10 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Sun, 22 Sep 2019 10:10:17 +0000 (12:10 +0200)]
Fix leak of temporary buffer during exif tag reading
Nikita Popov [Sun, 22 Sep 2019 08:26:57 +0000 (10:26 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Sat, 21 Sep 2019 18:38:24 +0000 (20:38 +0200)]
Fix multiple leaks in exif_read_data()
This fixes two leaks related to duplicate tags, as well as a leak
of zero-length FMT_(S)BYTE with non-null value. This can show up
for MAKERNOTE values where the original length is non-zero, but
the first character is a null byte.
Christoph M. Becker [Sat, 21 Sep 2019 16:12:27 +0000 (18:12 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix length of key passed to zend_hash_str_find_ptr
Jinesh Patel [Mon, 29 Jul 2019 18:21:25 +0000 (14:21 -0400)]
Fix length of key passed to zend_hash_str_find_ptr
Christoph M. Becker [Sat, 21 Sep 2019 14:16:09 +0000 (16:16 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78579: mb_decode_numericentity: args number inconsistency
Christoph M. Becker [Sat, 21 Sep 2019 13:56:06 +0000 (15:56 +0200)]
Fix #78579: mb_decode_numericentity: args number inconsistency
mb_decode_numericentity() accepts a fourth optional parameter, which is
unused, however. Since this parameter doesn't do any harm, and to avoid
the small BC break, we're keeping this parameter for PHP 7, but adjust
the arginfo.
For PHP 8, we will remove this parameter.
Nikita Popov [Thu, 19 Sep 2019 19:14:40 +0000 (21:14 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 19 Sep 2019 19:11:57 +0000 (21:11 +0200)]
Fix out-of-bounds read in exif tag reading
This issue was recently introduced in
c739023a50876e2a90588f915803b0140a95638e ,
when the restriction that components>0 has been relaxed. We now need
to make sure that any tags that expect at least one component check
that this is the case.
Nikita Popov [Thu, 19 Sep 2019 15:21:45 +0000 (17:21 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 19 Sep 2019 15:20:10 +0000 (17:20 +0200)]
Fix iterable return type optimization
Nikita Popov [Thu, 19 Sep 2019 12:20:04 +0000 (14:20 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 19 Sep 2019 12:16:36 +0000 (14:16 +0200)]
Fix exif leak on duplicate copyright tags
Nikita Popov [Thu, 19 Sep 2019 09:36:09 +0000 (11:36 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
CJDennis [Wed, 18 Sep 2019 10:03:24 +0000 (20:03 +1000)]
Fix typo
`sizeof("data")-1` and `sizeof("date")-1` are both 4, so no change in behaviour
Nikita Popov [Wed, 18 Sep 2019 14:36:29 +0000 (16:36 +0200)]
Remove unstable test output
This may be printed in a different order, and we don't care about
it anyway.
Nikita Popov [Wed, 18 Sep 2019 07:44:00 +0000 (09:44 +0200)]
Fixed bug #78272
Use MAP_JIT only when running under hardened runtime, because MAP_JIT
is incompatible with fork().
The check is based on
https://github.com/mono/mono/commit/
f879e35e3ed7496d819bd766deb8be6992d068ed .
Nikita Popov [Wed, 18 Sep 2019 07:28:54 +0000 (09:28 +0200)]
Backport MAP_JIT fixes from PCRE2 10.33
This is intended to fix the primary issue from bug #77260.
Prior to macOS 10.14 multiple MAP_JIT segments were not permitted,
leading to mmap failures and corresponding "no more memory" errors
on macOS 10.13.
Nikita Popov [Tue, 17 Sep 2019 15:34:08 +0000 (17:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3