]>
granicus.if.org Git - php/log
Nikita Popov [Wed, 9 Oct 2019 11:17:25 +0000 (13:17 +0200)]
Reduce ZEND_THROW specialization
Throwing is very expensive due to the need of gathering the backtrace,
so it makes little sense to optimize refcounting to this degree.
Dmitry Stogov [Wed, 9 Oct 2019 10:48:39 +0000 (13:48 +0300)]
SAMRT BRANCH improvement.
Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruction, the same information is encoded into SMART BRANH result_type.
Dmitry Stogov [Wed, 9 Oct 2019 06:08:25 +0000 (09:08 +0300)]
Otimize out useless QM_ASSIGN
Gabriel Caruso [Mon, 7 Oct 2019 23:27:38 +0000 (01:27 +0200)]
Add missing zend_parse_parameters_none() checks
Closes GH-4796.
Nikita Popov [Tue, 8 Oct 2019 16:20:31 +0000 (18:20 +0200)]
Merge branch 'PHP-7.4'
Fabien Villepinte [Sat, 5 Oct 2019 12:26:33 +0000 (14:26 +0200)]
Avoid file clash in root_check skipifs
Extract root check into skipif_root.inc to share this commonly
repeated logic.
Closes GH-4779.
Nikita Popov [Tue, 8 Oct 2019 15:38:49 +0000 (17:38 +0200)]
Reduce oniguruma limits in fuzzing sapi
The defaults are fairly conservative and may still take quite a
bit to match a single expression. Reduce them by a factor of 10x
to speed up fuzzing.
Nikita Popov [Tue, 8 Oct 2019 15:34:25 +0000 (17:34 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 8 Oct 2019 15:29:41 +0000 (17:29 +0200)]
Don't check type of simple parameter default values
After fixing the int->double coercion case, this is already verified
at compile-time, so there is no need to redo this type check on
every call.
Only perform the type check every time for the case of AST default
values.
Nikita Popov [Tue, 8 Oct 2019 15:19:52 +0000 (17:19 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 8 Oct 2019 14:53:23 +0000 (16:53 +0200)]
Handle "non well formed" exception during ZPP
Previously if the "non well formed" notice was converted into an
exception we'd still end up executing the function.
Also drop the now unnecessary EG(exception) checks in the engine.
Additionally remote a bogus exception in zend_is_callable: It
should only be writing to error, but not directly throwing.
Nikita Popov [Tue, 8 Oct 2019 14:14:19 +0000 (16:14 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 8 Oct 2019 14:14:06 +0000 (16:14 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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.
Dmitry Stogov [Tue, 8 Oct 2019 14:08:59 +0000 (17:08 +0300)]
Fixed Zend/tests/bug70785.phpt on builds wothout global regesters
Nikita Popov [Tue, 8 Oct 2019 13:52:18 +0000 (15:52 +0200)]
Merge branch 'PHP-7.4'
Dmitry Stogov [Tue, 8 Oct 2019 13:50:04 +0000 (16:50 +0300)]
Added "const" qualifier
Nikita Popov [Tue, 8 Oct 2019 13:39:22 +0000 (15:39 +0200)]
Fixed bug #78648
Dmitry Stogov [Tue, 8 Oct 2019 13:37:21 +0000 (16:37 +0300)]
Encapsulate all SMART BRANCH related logic inside macros. Result of SMART BRANCH may be uninitialized (on exception).
Nikita Popov [Tue, 8 Oct 2019 12:33:01 +0000 (14:33 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 8 Oct 2019 12:30:53 +0000 (14:30 +0200)]
Fixed bug #78644
Make sure the initialize the result of FETCH_OBJ_UNSET operations.
I'm using a NULL value rather than ERROR here, because the latter
no longer exists in master.
Christoph M. Becker [Tue, 8 Oct 2019 12:13:23 +0000 (14:13 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add missing SKIPIFs in exif tests
Christoph M. Becker [Tue, 8 Oct 2019 12:12:50 +0000 (14:12 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add missing SKIPIFs in exif tests
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:35:47 +0000 (12:35 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 8 Oct 2019 10:35:35 +0000 (12:35 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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:11:19 +0000 (12:11 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78642: Wrong libiconv version displayed
Christoph M. Becker [Tue, 8 Oct 2019 10:10:35 +0000 (12:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78642: Wrong libiconv version displayed
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:06:11 +0000 (12:06 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
7.3.12 is next
Christoph M. Becker [Tue, 8 Oct 2019 10:05:21 +0000 (12:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
7.3.12 is next
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:37:09 +0000 (11:37 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
next is 7.2.25
Remi Collet [Tue, 8 Oct 2019 09:36:57 +0000 (11:36 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
next is 7.2.25
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
Remi Collet [Tue, 8 Oct 2019 08:49:30 +0000 (10:49 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
add librt for opcache
Remi Collet [Mon, 7 Oct 2019 14:31:09 +0000 (16:31 +0200)]
add librt for opcache
Christoph M. Becker [Tue, 8 Oct 2019 07:50:43 +0000 (09:50 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78641: addGlob can modify given remove_path value
Christoph M. Becker [Tue, 8 Oct 2019 07:49:24 +0000 (09:49 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78641: addGlob can modify given remove_path value
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.
Tyson Andre [Mon, 7 Oct 2019 23:33:03 +0000 (19:33 -0400)]
Merge branch 'PHP-7.4'
Tyson Andre [Mon, 7 Oct 2019 13:39:10 +0000 (09:39 -0400)]
Fix grammar nits on php 7.4 UPGRADING
Markus Staab [Mon, 7 Oct 2019 19:49:46 +0000 (21:49 +0200)]
Fix typo [ci skip]
Christoph M. Becker [Mon, 7 Oct 2019 17:34:57 +0000 (19:34 +0200)]
Fix com_dotnet build
Nikita Popov [Mon, 7 Oct 2019 15:52:54 +0000 (17:52 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 15:52:41 +0000 (17:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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 15:31:12 +0000 (17:31 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 15:29:33 +0000 (17:29 +0200)]
Fix leak when include fails in a read operation
Usually it will already fail when opening, but reads can also
fail since PHP 7.4, in which case we still need to place the
file handle in open_files to make sure the destructor will run
on it.
Dmitry Stogov [Mon, 7 Oct 2019 14:57:49 +0000 (17:57 +0300)]
Comparison cleanup:
- introduce zend_compare() that returns -1,0,1 dirctly (without intermediate zval)
- remove compare_objects() object handler, and keep only compare() handler
Christoph M. Becker [Mon, 7 Oct 2019 12:06:09 +0000 (14:06 +0200)]
Expect appropriate parameter type in the first place
`mb_encode_numericentity()` and `mb_decode_numericentity()` accepted
arbitrary zvals as `$convmap`, but ignored anything else than arrays.
This appears to be an unresolved relict of their ZPP conversion for
PHP 5.3[1]. We now expect an array in the first place.
We also expect `count($convmap)` to be a multiple of four (else we
throw a `ValueError`), and do no longer special case empty `$convmap`.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=
1c77f594294aee9d60e7309279c616c01c39ba9d >
Nikita Popov [Mon, 7 Oct 2019 14:44:44 +0000 (16:44 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 14:44:39 +0000 (16:44 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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 09:23:51 +0000 (11:23 +0200)]
Check num required args is correct in debug builds
Also replace the assertion failure with an E_CORE_ERROR that
includes the function name, so these are easier to debug.
Nikita Popov [Mon, 7 Oct 2019 09:25:41 +0000 (11:25 +0200)]
Fix required number of arguments in stubs
* get_parent_class() argument is optional
* Mark array_filter() $callback as optional
* The $base of gmp_strval() is optional
* DateTime constructor also accepts zero arguments
* hash_update_file() stream context is optional
* xmlwriter_write_dtd_entity() $isparam argument is optional
Nikita Popov [Mon, 7 Oct 2019 14:32:42 +0000 (16:32 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 09:42:22 +0000 (11:42 +0200)]
Fix number of required arguments in arginfo
* pack() only requires one argument
* stream_context_set_option() only requires two arguments
* ReflectionMethod::getClosure() accepts no args for static methods
* DOMDocument::createProcessingInstruction() only requires one arg
* DOMImplementation::createDocument() only requires two arguments
* DOMDocument::importNode() only requires one arg
* mysql_get_client_version() doesn't accept any args,
despite what the docs say...
Nikita Popov [Mon, 7 Oct 2019 11:24:24 +0000 (13:24 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 11:24:16 +0000 (13:24 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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 11:22:47 +0000 (13:22 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Bail out if JUNIT is not enabled
Christoph M. Becker [Mon, 7 Oct 2019 11:20:14 +0000 (13:20 +0200)]
Bail out if JUNIT is not enabled
Otherwise we would try to access an array element of `false`, which
issues a notice as of PHP 7.4.0. This would happen, for instance, for
bug63447_001.phpt if CGI is not available.
Nikita Popov [Mon, 7 Oct 2019 10:43:51 +0000 (12:43 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 10:40:21 +0000 (12:40 +0200)]
Don't test default serialize max_depth
The default depth is large enough to cause stack overflows in
msan builds, though apparently only on old clang versions. Avoiding
a stack overflow there requires making the depth *much* smaller,
less than 1000. As I don't think that's reasonable for all the other
setups where 4k works fine, I'm just dropping this part of the test.
Christoph M. Becker [Mon, 7 Oct 2019 10:18:27 +0000 (12:18 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Delete temporary .post files of run-tests.php
Christoph M. Becker [Mon, 7 Oct 2019 10:13:02 +0000 (12:13 +0200)]
Delete temporary .post files of run-tests.php
Commit
5649267 [1] changed run-tests.php to only delete .post files for
passing tests. However, that code wouldn't be exercised at all, since
`run_test()` already returned, so we move the deletion upwards.
[1]
<http://git.php.net/?p=php-src.git;a=commit;h=
5649267b257c78e46a934434c0bff894e0b5b694 >
theodorejb [Mon, 7 Oct 2019 09:13:16 +0000 (11:13 +0200)]
Convert string function arginfo to PHP stubs
Nikita Popov [Mon, 7 Oct 2019 09:10:05 +0000 (11:10 +0200)]
Convert count_chars invalid mode error to ValueError
Nikita Popov [Mon, 7 Oct 2019 08:51:22 +0000 (10:51 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Mon, 7 Oct 2019 08:49:34 +0000 (10:49 +0200)]
Limit retry_limit test to oniguruma >= 6.9.3
This test is somewhat fragile in that it depends on how well a
particular regex is optimized. Apparently on 6.9.1 this regex
would hit the default retry_limit of
1000000 already. I'm limiting
this to 6.9.3 because that's the version that works for me.
Mark [Fri, 4 Oct 2019 19:38:49 +0000 (20:38 +0100)]
Fix bug #78563
Make XmlParser final, unclonable and unserializable.
Closes GH-4778.
Tyson Andre [Sun, 6 Oct 2019 17:24:48 +0000 (13:24 -0400)]
Update opcache return type info for gd functions
Many of these now have reflection types,
making the old signatures redundant or inaccurate.
(Some methods also throw Errors instead of returning null/false)
Closes GH-4785.
Tyson Andre [Sun, 6 Oct 2019 17:48:49 +0000 (13:48 -0400)]
Update zend_func_info for pcre/curl/iconv/json
preg_quote and curl_error now have a non-null return type of `string`.
zend_func_info now duplicates many real reflection types
(some of which are now non-null)
Closes GH-4788.
Tyson Andre [Sun, 6 Oct 2019 17:41:48 +0000 (13:41 -0400)]
Remove redundant zend_func_info for zlib/hash/session
E.g. hash_equals is outdated - it has a non-null reflection type of bool.
Remove redundant signatures for types that are obviously not reference
counted (`F0`).
Closes GH-4787.
Tyson Andre [Sun, 6 Oct 2019 17:37:10 +0000 (13:37 -0400)]
Remove redundant func info for ctype/bc/fileinfo
This is limited to types that aren't reference counted.
I assume the info that there is exactly one reference
should be preserved (e.g. for bcsqrt)
Closes GH-4786.
Tyson Andre [Sun, 6 Oct 2019 18:37:22 +0000 (14:37 -0400)]
Update zend_func_info for zend, array extensions
Some of these functions now have real reflection types
and will throw instead of return null/false.
Others provide the exact same reflection type information
that zend_func_info does. (or would after updating outdated types)
Closes GH-4790.
Nikita Popov [Mon, 7 Oct 2019 08:02:18 +0000 (10:02 +0200)]
Remove most uses of ZEND_PARSE_PARAMETERS_END_EX()
As ZPP now throws, it makes no sense to specify an explicit return
value.
Nikita Popov [Mon, 7 Oct 2019 07:51:28 +0000 (09:51 +0200)]
Merge branch 'PHP-7.4'
[ci skip]
Nikita Popov [Mon, 7 Oct 2019 07:51:13 +0000 (09:51 +0200)]
Fix typo in UPGRADING
[ci skip]
Christoph M. Becker [Mon, 7 Oct 2019 07:19:08 +0000 (09:19 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78623: Regression caused by "SP call yields additional empty result set"
Christoph M. Becker [Mon, 7 Oct 2019 07:18:29 +0000 (09:18 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78623: Regression caused by "SP call yields additional empty result set"
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 .
Christoph M. Becker [Sun, 6 Oct 2019 17:03:27 +0000 (19:03 +0200)]
Explicitly declare empty parameter list
Christoph M. Becker [Sun, 6 Oct 2019 15:59:47 +0000 (17:59 +0200)]
Just return on failing ZPP
Christoph M. Becker [Sun, 6 Oct 2019 15:55:59 +0000 (17:55 +0200)]
Add missing zend_parse_parameters_none()
Christoph M. Becker [Sun, 6 Oct 2019 13:44:15 +0000 (15:44 +0200)]
Add MBString arginfo stubs
Thomas Gerbet [Sat, 5 Oct 2019 15:41:15 +0000 (17:41 +0200)]
Add stubs for ext-xmlrpc
Nikita Popov [Sun, 6 Oct 2019 08:07:57 +0000 (10:07 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 2 Oct 2019 10:42:46 +0000 (12:42 +0200)]
Add support for mbstring.regex_retry_limit
This is very similar to the existing mbstring.regex_stack_limit,
but for backtracking. The default value matches pcre.backtrack_limit.
Only used on libonig >= 2.8.0.
Benjamin Eberlei [Sat, 5 Oct 2019 17:01:50 +0000 (19:01 +0200)]
Update NEWS