]>
granicus.if.org Git - php/log
Christoph M. Becker [Fri, 11 Oct 2019 07:54:00 +0000 (09:54 +0200)]
Don't specify method return values in stubs
We also fix the @return annotation of `::open()` and `::XML()`, which
return an `XMLReader` instance when called statically.
Dmitry Stogov [Fri, 11 Oct 2019 09:44:12 +0000 (12:44 +0300)]
Fixed JIT of preloaded script
Dmitry Stogov [Fri, 11 Oct 2019 09:28:20 +0000 (12:28 +0300)]
Use RT_CONSTANT() or CT_CONSTANT() macro depending on ZEND_ACC_DONE_PASS_TWO flag
Nikita Popov [Fri, 11 Oct 2019 08:58:03 +0000 (10:58 +0200)]
Merge branch 'PHP-7.4'
Fabien Villepinte [Thu, 10 Oct 2019 17:47:20 +0000 (19:47 +0200)]
Replace port already used
Closes GH-4811.
Dmitry Stogov [Fri, 11 Oct 2019 08:23:02 +0000 (11:23 +0300)]
JMP optimization cleanup.
Make JMP optimisation in pass3 and JMP optimization from CFG pass to be almost identical.
Dmitry Stogov [Thu, 10 Oct 2019 20:20:36 +0000 (23:20 +0300)]
Revert/redo pass_two only once
Dmitry Stogov [Thu, 10 Oct 2019 18:46:24 +0000 (21:46 +0300)]
Removed #if HAVE_DFA_PASS
Nikita Popov [Thu, 10 Oct 2019 14:15:00 +0000 (16:15 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 14:14:52 +0000 (16:14 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 10 Oct 2019 14:14:37 +0000 (16:14 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 10 Oct 2019 14:14:04 +0000 (16:14 +0200)]
Fix leak in phar open
Dmitry Stogov [Thu, 10 Oct 2019 14:00:45 +0000 (17:00 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Revert "Fixed CLI/CGI/FPM build, when they are built together with Apache SAPI"
Revert "Don't buid static libaraies when only DSO required"
Revert "Link executable files using non PIC object files. This reduces PIC overhead and improves performance."
Fabien Villepinte [Wed, 9 Oct 2019 20:39:32 +0000 (22:39 +0200)]
Fix typo in tests
Dmitry Stogov [Thu, 10 Oct 2019 13:24:15 +0000 (16:24 +0300)]
Revert "Fixed CLI/CGI/FPM build, when they are built together with Apache SAPI"
This reverts commit
db094b4b2e5ef0f0c30f412ce3a2516e31e17da7 .
Dmitry Stogov [Thu, 10 Oct 2019 13:24:12 +0000 (16:24 +0300)]
Revert "Don't buid static libaraies when only DSO required"
This reverts commit
f633c347574c0d814050b4bf2493e0cac6a5988c .
Dmitry Stogov [Thu, 10 Oct 2019 13:23:59 +0000 (16:23 +0300)]
Revert "Link executable files using non PIC object files. This reduces PIC overhead and improves performance."
This reverts commit
eef85229d0fe9f69d325aa0231e592f35c468afb .
Nikita Popov [Thu, 10 Oct 2019 13:17:19 +0000 (15:17 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 13:14:04 +0000 (15:14 +0200)]
Return error_zval form get_property_ptr_ptr on exception
This goes in the reverse direction of
4463acb9513dfb62206760c49b3da1fe4d92f40a .
After looking around a bit, it seems that we already check for
Z_ISERROR_P() on the get_property_ptr_ptr return value in other places.
So do this in zend_fetch_property_address() as well, and also make
sure that EG(error_zval) is indeed returned on exception in
get_property_ptr_ptr.
In particular, this fixes the duplicate exceptions that we used to
get because first get_property_ptr_ptr threw one and then
read_property throws the same exception again.
Dmitry Stogov [Thu, 10 Oct 2019 13:07:31 +0000 (16:07 +0300)]
Eliminate CHECK_VAR instructions for defined CVs
Nikita Popov [Thu, 10 Oct 2019 12:44:53 +0000 (14:44 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 12:41:35 +0000 (14:41 +0200)]
Explicitly check for exceptions in by-ref obj prop assign
Relying on setting ERROR if an exception happened during the
property address fetch is both a bit fragile and may pessimize
other codepaths that will check for exceptions in the VM. Adding
an extra exception check instead, which should also allow us to
drop the use of ERROR in this area in master.
Nikita Popov [Thu, 10 Oct 2019 10:45:38 +0000 (12:45 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 10:44:55 +0000 (12:44 +0200)]
Fix leak when property AST evaluation fails
Nikita Popov [Wed, 9 Oct 2019 15:45:57 +0000 (17:45 +0200)]
Use php stream in exif fuzzer
This has the main benefit that we don't go through the
realpath cache, which will cause leak checking to be
disabled.
Nikita Popov [Thu, 10 Oct 2019 10:08:17 +0000 (12:08 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 10:07:47 +0000 (12:07 +0200)]
Also check for exception after stream_eof
Nikita Popov [Thu, 10 Oct 2019 09:42:05 +0000 (11:42 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 09:41:51 +0000 (11:41 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 10 Oct 2019 09:41:29 +0000 (11:41 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 10 Oct 2019 09:40:49 +0000 (11:40 +0200)]
Fix leak on static method call on non-existent class
Dmitry Stogov [Thu, 10 Oct 2019 09:19:06 +0000 (12:19 +0300)]
Separate common code and add few more patterns
Nikita Popov [Thu, 10 Oct 2019 09:17:55 +0000 (11:17 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 09:12:17 +0000 (11:12 +0200)]
Report error if stream_read is not implemented
We need to return -1 in this case. Slightly restructure the code
to avoid unnecessary conditions.
Dmitry Stogov [Thu, 10 Oct 2019 08:48:31 +0000 (11:48 +0300)]
Nikita Popov [Thu, 10 Oct 2019 08:43:21 +0000 (10:43 +0200)]
Set display_startup_errors=0 when running skipif
Now that we're displaying errors in skipif, suppress this particular
category. Otherwise we get warnings in the SKIPIF of tests with
EXTENSION where the extension does not exist, and there's no way
to suppress them.
Nikita Popov [Thu, 10 Oct 2019 08:08:32 +0000 (10:08 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 10 Oct 2019 08:07:54 +0000 (10:07 +0200)]
Fix leak on "Cannot assign by reference to overloaded object" error
Nikita Popov [Thu, 10 Oct 2019 07:53:24 +0000 (09:53 +0200)]
Fix exception handling for call_user_func_array() with invalid type
Now that this throws an exception, the call frame cleanup will be
handled by exception handling -- remove it here to avoid double
frees.
Dmitry Stogov [Wed, 9 Oct 2019 23:21:37 +0000 (02:21 +0300)]
One more place
Dmitry Stogov [Wed, 9 Oct 2019 23:17:50 +0000 (02:17 +0300)]
Fixed typo
Dmitry Stogov [Wed, 9 Oct 2019 20:24:41 +0000 (23:24 +0300)]
Move ECHO handling into common switch
Dmitry Stogov [Wed, 9 Oct 2019 20:07:32 +0000 (23:07 +0300)]
Cleanup JMP optimization. Remove duplicate code (conditional jums with constant operand) and outdated commented code.
Dmitry Stogov [Wed, 9 Oct 2019 19:52:09 +0000 (22:52 +0300)]
Cleanup JMP optimization pass
Nikita Popov [Wed, 9 Oct 2019 15:34:00 +0000 (17:34 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 9 Oct 2019 15:33:52 +0000 (17:33 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 9 Oct 2019 15:33:44 +0000 (17:33 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 9 Oct 2019 15:33:01 +0000 (17:33 +0200)]
Avoid float to int cast UB in exif
Christoph M. Becker [Wed, 9 Oct 2019 15:30:37 +0000 (17:30 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78656: Parse errors classified as highest log-level
Christoph M. Becker [Wed, 9 Oct 2019 15:29:34 +0000 (17:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78656: Parse errors classified as highest log-level
Christoph M. Becker [Wed, 9 Oct 2019 15:28:33 +0000 (17:28 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78656: Parse errors classified as highest log-level
Erik Lundin [Wed, 9 Oct 2019 12:08:22 +0000 (14:08 +0200)]
Fix #78656: Parse errors classified as highest log-level
Nikita Popov [Wed, 9 Oct 2019 15:01:02 +0000 (17:01 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 9 Oct 2019 15:00:47 +0000 (17:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 9 Oct 2019 14:59:38 +0000 (16:59 +0200)]
Fixed bug #78658
Dmitry Stogov [Wed, 9 Oct 2019 14:58:35 +0000 (17:58 +0300)]
typo and cleanup
Nikita Popov [Wed, 9 Oct 2019 12:58:17 +0000 (14:58 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 9 Oct 2019 12:58:10 +0000 (14:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
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.
Christoph M. Becker [Wed, 9 Oct 2019 12:17:25 +0000 (14:17 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78650: new COM Crash
Nikita Popov [Wed, 9 Oct 2019 12:11:07 +0000 (14:11 +0200)]
Actually remove the YIELD key specialization
I only adjusted the code before, without switching to TMPVAR.
Christoph M. Becker [Wed, 9 Oct 2019 12:03:36 +0000 (14:03 +0200)]
Fix #78650: new COM Crash
As of PHP 7.4.0, the `get_property_ptr_ptr` handler is mandatory; we
implement it to always return `NULL`, which is equivalent to not
setting the handler in former versions.
We add a portable and faster test case than what has been presented in
the bug ticket.
Nikita Popov [Wed, 9 Oct 2019 11:59:07 +0000 (13:59 +0200)]
Reduce YIELD key specialization
Keeping the value specialization for now, which is more commonly
applicable.
Nikita Popov [Wed, 9 Oct 2019 11:52:13 +0000 (13:52 +0200)]
Reduce YIELD_FROM specialization
Generator delegation is a complex compound operation, it does not
make a lot of sense to optimize refcounting here to this degree.
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