]>
granicus.if.org Git - php/log
Nikita Popov [Mon, 14 Oct 2019 14:37:27 +0000 (16:37 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix handling of overflowing invalid octal in tokenizer
Nikita Popov [Sat, 12 Oct 2019 19:27:44 +0000 (21:27 +0200)]
Fix handling of overflowing invalid octal in tokenizer
If token_get_all() is used, we still need to correctly distinguish
LNUMBER vs DNUMBER here for backwards compatibility.
Dmitry Stogov [Mon, 14 Oct 2019 13:45:58 +0000 (16:45 +0300)]
Fixed incorrect JIT compilation
Dmitry Stogov [Mon, 14 Oct 2019 10:36:16 +0000 (13:36 +0300)]
Drop checkpoint that leaded to use after free
Nikita Popov [Mon, 14 Oct 2019 09:34:38 +0000 (11:34 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Nikita Popov [Mon, 14 Oct 2019 09:32:47 +0000 (11:32 +0200)]
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Dmitry Stogov [Mon, 14 Oct 2019 08:37:10 +0000 (11:37 +0300)]
Reduced number of CFG pass iterations
Fabien Villepinte [Sat, 12 Oct 2019 21:18:56 +0000 (23:18 +0200)]
Fix grammar in skipif messages
Christoph M. Becker [Sat, 12 Oct 2019 15:50:14 +0000 (17:50 +0200)]
Just return after exception has been thrown
Thomas Gerbet [Sun, 6 Oct 2019 17:58:18 +0000 (19:58 +0200)]
Add stubs for ext-sockets
Christoph M. Becker [Sat, 12 Oct 2019 14:48:08 +0000 (16:48 +0200)]
Fix potentially borked test case
If interface 'lo' is not available, `socket_set_option()` may warn,
which would cause the test to be marked as borked. Thus we silence the
function call.
Christoph M. Becker [Sat, 12 Oct 2019 14:29:42 +0000 (16:29 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix test case
Christoph M. Becker [Sat, 12 Oct 2019 14:27:24 +0000 (16:27 +0200)]
Fix test case
`MSG_EOR` and `MSG_EOF` are not necessarily defined, in which case the
test would fail.
Christoph M. Becker [Sat, 12 Oct 2019 14:16:44 +0000 (16:16 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix potential heap corruption
Christoph M. Becker [Sat, 12 Oct 2019 14:14:27 +0000 (16:14 +0200)]
Fix potential heap corruption
`tmp` is allocated by `malloc()`, so we must not `LocalFree()` it.
Christoph M. Becker [Sat, 12 Oct 2019 12:46:36 +0000 (14:46 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78665: Multicasting may leak memory
Christoph M. Becker [Sat, 12 Oct 2019 12:45:40 +0000 (14:45 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78665: Multicasting may leak memory
Christoph M. Becker [Sat, 12 Oct 2019 12:44:35 +0000 (14:44 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78665: Multicasting may leak memory
Christoph M. Becker [Sat, 12 Oct 2019 11:49:39 +0000 (13:49 +0200)]
Fix #78665: Multicasting may leak memory
Christoph M. Becker [Wed, 9 Oct 2019 07:03:32 +0000 (09:03 +0200)]
Appveyor: switch master to VS 2019
Nikita Popov [Fri, 11 Oct 2019 15:44:50 +0000 (17:44 +0200)]
Merge branch 'PHP-7.4'
Gerard Roche [Wed, 25 Sep 2019 18:13:17 +0000 (19:13 +0100)]
Azure: Publish code coverage results
* Add an Azure Publish Code Coverage Results task
* Add `make gcovr-html` to generate a gcovr test coverage report in HTML
* Add `make gcovr-xml` to generate a gcovr test coverage report in XML
* Remove `test` target dependency from `make lcov-html`;
Run the two targets together instead: `make test lcov-html`.
Re: https://github.com/php/php-src/pull/4739#issuecomment-
534911441
See: https://externals.io/message/107113,
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops,
and https://github.com/php/php-src/pull/4759.
Nikita Popov [Fri, 11 Oct 2019 15:10:15 +0000 (17:10 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Fri, 11 Oct 2019 15:09:06 +0000 (17:09 +0200)]
Add upgrading note for round(-0.0) change
As cmb pointed out, the new behavior is compliant with POSIX:
https://pubs.opengroup.org/onlinepubs/
9699919799 /functions/round.html.
Nikita Popov [Fri, 11 Oct 2019 14:51:50 +0000 (16:51 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Fri, 11 Oct 2019 14:44:31 +0000 (16:44 +0200)]
Remove configure checks for ltp when using --enable-gcov
gcov builds can also be used with other tools like gcovr, so remove
the hard dependency on LTP.
Nikita Popov [Wed, 2 Oct 2019 13:06:09 +0000 (15:06 +0200)]
Add fdiv() function
The fdiv() function is part of the fmod() / intdiv() family. It
implements a floating-point division with IEEE-754 semantics.
That is, division by zero is considered well-defined and does not
trigger any kind of diagnostic. Instead one of INF, -INF or NAN
will be returned, depending on the case.
This is in preparation for throwing DivisionByZeroError from the
standard division operator.
Remi Collet [Fri, 11 Oct 2019 11:38:29 +0000 (13:38 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
NEWS
Fix #78662: stream_write bad error detection
Remi Collet [Fri, 11 Oct 2019 11:38:15 +0000 (13:38 +0200)]
NEWS
Remi Collet [Fri, 11 Oct 2019 11:36:16 +0000 (13:36 +0200)]
Fix #78662: stream_write bad error detection
Nikita Popov [Thu, 10 Oct 2019 12:14:36 +0000 (14:14 +0200)]
Use clean shutdown on uncaught exception
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.