]> granicus.if.org Git - php/log
php
5 years agoCheck class linking in VERIFY_RETURN_TYPE optimization
Nikita Popov [Fri, 25 Oct 2019 09:24:32 +0000 (11:24 +0200)]
Check class linking in VERIFY_RETURN_TYPE optimization

instanceof_function() requires linked classes. I'm not reusing
unlinked_instanceof() here, because it performs class loading,
which wouldn't be right here, I think.

5 years agoSimplify travis setup scripts
Nikita Popov [Fri, 25 Oct 2019 09:14:56 +0000 (11:14 +0200)]
Simplify travis setup scripts

Reduce duplication.

5 years agoRemove recursive check from instanceof_interface
Nikita Popov [Thu, 24 Oct 2019 16:11:41 +0000 (18:11 +0200)]
Remove recursive check from instanceof_interface

Parent interfaces are copied into the interface list during
inheritance, so there's no need to perform a recursive check.

Only exception are instanceof checks performed during inheritance
itself. However, we already have unlinked_instanceof for this
purpose, it just needs to be taught to handle this case.

Closes GH-4857.

5 years agoOptimize instanceof_class/interface
Nikita Popov [Thu, 24 Oct 2019 15:47:35 +0000 (17:47 +0200)]
Optimize instanceof_class/interface

instanceof_class does not need to check for a NULL pointer in the
first iteration -- passing NULL to this function is illegal.

instanceof_interface does not need to use instanceof_class(), it
only has to check whether the CEs match exactly. There is no way
for an interface to appear inside "parent", it will always be in
"interfaces" only.

5 years agoClean up and clarify instanceof_function_ex()
Nikita Popov [Thu, 24 Oct 2019 15:40:25 +0000 (17:40 +0200)]
Clean up and clarify instanceof_function_ex()

The instanceof_interface_only() function was dead code (always
returned zero).

Clarify that the last parameter indicates whether the passed CE
is interface or class and rewrite the code in terms of assertions.

5 years agoSkip IntlTimeZone::getOffset() error tests on non-x86
Nikita Popov [Thu, 24 Oct 2019 12:41:05 +0000 (14:41 +0200)]
Skip IntlTimeZone::getOffset() error tests on non-x86

I'm not totally sure, but I have a strong suspicion that the fact
that this produces an error is an artifact of undefined cast behavior
(which will yield INDVAL on x86 but saturate on ARM). INF seems to
be the only value that results in an error even on x86 (variations
like -INF or NAN succeed).

It might make sense to just remove this test entirely, but for now
let's skip it on non-x86.

5 years agoSkip large ftruncate test if large files not supported
Nikita Popov [Thu, 24 Oct 2019 12:32:11 +0000 (14:32 +0200)]
Skip large ftruncate test if large files not supported

5 years agoDon't test "blocks" in lstat_stat_variation7.phpt
Nikita Popov [Thu, 24 Oct 2019 12:26:17 +0000 (14:26 +0200)]
Don't test "blocks" in lstat_stat_variation7.phpt

This stat property seems to be somewhat unreliable depending on the
filesystem. On Travis ARM64 CI a much larger payload is required
to get this value to increase.

5 years agoIncrease FD used in php://fd test
Nikita Popov [Thu, 24 Oct 2019 10:28:43 +0000 (12:28 +0200)]
Increase FD used in php://fd test

5 years agoUse posix_getuid() to check for root in pcntl_setpriority() test
Nikita Popov [Thu, 24 Oct 2019 10:19:24 +0000 (12:19 +0200)]
Use posix_getuid() to check for root in pcntl_setpriority() test

Using SUDO_USER doesn't seem to work on Travis ARM CI -- I guess
that sudo might be in use without the target being root.

5 years agotypo and better wording
Remi Collet [Thu, 24 Oct 2019 05:43:49 +0000 (07:43 +0200)]
typo and better wording

5 years agoAdded suppot for glob() wildcard matching in ffi.preload directive
Dmitry Stogov [Wed, 23 Oct 2019 14:18:11 +0000 (17:18 +0300)]
Added suppot for glob() wildcard matching in ffi.preload directive

5 years agoReverting push to wrong repo
Rasmus Lerdorf [Wed, 23 Oct 2019 21:34:12 +0000 (14:34 -0700)]
Reverting push to wrong repo

5 years agoUpdate alloc patch
Rasmus Lerdorf [Wed, 23 Oct 2019 21:31:27 +0000 (14:31 -0700)]
Update alloc patch

5 years agoIgnore ZEND_FFI_TYPE_OWNED flag
Dmitry Stogov [Wed, 23 Oct 2019 16:50:58 +0000 (19:50 +0300)]
Ignore ZEND_FFI_TYPE_OWNED flag

5 years agoFix aarch64 crc32 implementation
Nikita Popov [Wed, 23 Oct 2019 14:58:47 +0000 (16:58 +0200)]
Fix aarch64 crc32 implementation

RETVAL vs RETURN mixup resulted in the fallback implementation
running as well.

5 years agoDon't autoload when checking property types
Nikita Popov [Wed, 23 Oct 2019 10:19:33 +0000 (12:19 +0200)]
Don't autoload when checking property types

Noticed while working on union types: We do not load argument and
return types during type checks, but we do load property types.

I'm normalizing the behavior towards the existing status quo (not
loading), though we may consider loading everywhere (all types,
and instanceof) in order to properly support class aliases.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 23 Oct 2019 09:18:01 +0000 (11:18 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Use ICU's CXXFLAGS when using pkg-config

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 23 Oct 2019 09:17:46 +0000 (11:17 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Use ICU's CXXFLAGS when using pkg-config

5 years agoUse ICU's CXXFLAGS when using pkg-config
Ryan Schmidt [Tue, 22 Oct 2019 21:19:35 +0000 (16:19 -0500)]
Use ICU's CXXFLAGS when using pkg-config

This mirrors how ICU's CXXFLAGS are already used when using icu-config.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 23 Oct 2019 09:07:41 +0000 (11:07 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 23 Oct 2019 09:07:16 +0000 (11:07 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well

5 years agoAdd "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Nikita Popov [Wed, 23 Oct 2019 09:06:51 +0000 (11:06 +0200)]
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well

This is a backport of c518932c0326a938f0fd0254f2adb03b1cddfbca
from the PHP 7.4 branch.

5 years agoAdded missing call to ZipArchive::close()
Florian Engelhardt [Wed, 23 Oct 2019 08:16:07 +0000 (10:16 +0200)]
Added missing call to ZipArchive::close()

5 years agoadd new ffi.preload option in php.ini and display ini entries in MINFO
Remi Collet [Wed, 23 Oct 2019 05:49:13 +0000 (07:49 +0200)]
add new ffi.preload  option in php.ini and display ini entries in MINFO

5 years agoFix typo
Christoph M. Becker [Tue, 22 Oct 2019 15:53:34 +0000 (17:53 +0200)]
Fix typo

5 years agoAllow loading FFI bindings through ffi.preload directive
Dmitry Stogov [Tue, 22 Oct 2019 14:52:56 +0000 (17:52 +0300)]
Allow loading FFI bindings through ffi.preload directive

5 years agoFix #78716: Function name mangling is wrong for some parameter types
Christoph M. Becker [Tue, 22 Oct 2019 09:33:00 +0000 (11:33 +0200)]
Fix #78716: Function name mangling is wrong for some parameter types

We have to cater to function parameter alignment when calculating the
parameter size.

5 years agoAdd a run with opcache to the coverage job
Fabien Villepinte [Mon, 21 Oct 2019 19:48:33 +0000 (21:48 +0200)]
Add a run with opcache to the coverage job

Some tests are not run when OPcache is not available.
This should make the results more accurate.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 22 Oct 2019 07:51:44 +0000 (09:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update NEWS

5 years agoUpdate NEWS
Christoph M. Becker [Tue, 22 Oct 2019 07:50:11 +0000 (09:50 +0200)]
Update NEWS

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Tue, 22 Oct 2019 07:38:05 +0000 (09:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  add NEWS entry

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Tue, 22 Oct 2019 07:37:51 +0000 (09:37 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  add NEWS entry

5 years agoadd NEWS entry
Remi Collet [Tue, 22 Oct 2019 07:37:35 +0000 (09:37 +0200)]
add NEWS entry

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Stanislav Malyshev [Mon, 21 Oct 2019 20:17:27 +0000 (13:17 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)
  bump versions after release
  set versions for release

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Stanislav Malyshev [Mon, 21 Oct 2019 20:17:19 +0000 (13:17 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)
  bump versions after release
  set versions for release

5 years agoMerge branch 'PHP-7.1' into PHP-7.2
Stanislav Malyshev [Mon, 21 Oct 2019 20:17:09 +0000 (13:17 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)
  bump versions after release
  set versions for release

5 years agoRevert "Add tests for ReflectionZendExtension"
Fabien Villepinte [Mon, 21 Oct 2019 19:31:36 +0000 (21:31 +0200)]
Revert "Add tests for ReflectionZendExtension"

This reverts commit 4194e0415b02827b0d5eeff13771eb6642955b0f.

There were already tests for this class.

5 years agoAdd tests for ReflectionZendExtension
Fabien Villepinte [Mon, 21 Oct 2019 19:17:16 +0000 (21:17 +0200)]
Add tests for ReflectionZendExtension

5 years agoFixed bug #78512 (Cannot make preload work)
Dmitry Stogov [Mon, 21 Oct 2019 11:52:26 +0000 (14:52 +0300)]
Fixed bug #78512 (Cannot make preload work)

5 years agoFix static prop cleanup for dl'ed internal classes
Nikita Popov [Mon, 21 Oct 2019 09:30:00 +0000 (11:30 +0200)]
Fix static prop cleanup for dl'ed internal classes

5 years agoFix leak with cycle in static prop of internal class
Nikita Popov [Mon, 21 Oct 2019 08:26:10 +0000 (10:26 +0200)]
Fix leak with cycle in static prop of internal class

More the cleanup of interned classes before the final GC run,
just like it is done for user classes.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Mon, 21 Oct 2019 07:23:44 +0000 (09:23 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #78697: inaccurate error message

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Mon, 21 Oct 2019 07:22:32 +0000 (09:22 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #78697: inaccurate error message

5 years agoFix bug #78697: inaccurate error message
Fabien Villepinte [Sat, 19 Oct 2019 19:27:37 +0000 (21:27 +0200)]
Fix bug #78697: inaccurate error message

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Stanislav Malyshev [Mon, 21 Oct 2019 06:20:16 +0000 (23:20 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78633: Heap buffer overflow (read) in mb_eregi

5 years agoFix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)
Jakub Zelenka [Sat, 12 Oct 2019 14:56:16 +0000 (15:56 +0100)]
Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)

5 years agoFix #78633: Heap buffer overflow (read) in mb_eregi
Christoph M. Becker [Fri, 4 Oct 2019 17:02:37 +0000 (19:02 +0200)]
Fix #78633: Heap buffer overflow (read) in mb_eregi

We backport kkos/oniguruma@15c4228aa2ffa02140a99912dd3177df0b1841c6.

5 years agoAdd NEWS for the fixed bug #74083
Jakub Zelenka [Sun, 20 Oct 2019 15:58:13 +0000 (16:58 +0100)]
Add NEWS for the fixed bug #74083

5 years agoSkip fpm bug #74083 test on Windows
Maksim Nikulin [Thu, 25 Jul 2019 06:15:35 +0000 (13:15 +0700)]
Skip fpm bug #74083 test on Windows

Have not expected side effects of `include`.

5 years agoAdd (slow) test for fpm concurrent reloads #74083
Maksim Nikulin [Thu, 25 Jul 2019 04:41:36 +0000 (11:41 +0700)]
Add (slow) test for fpm concurrent reloads #74083

5 years agoBlock signals during fpm master initialization
Maksim Nikulin [Wed, 24 Jul 2019 09:50:57 +0000 (16:50 +0700)]
Block signals during fpm master initialization

Fix PHP-FPM failure in the case of concurrent reload attempts.

Postpone signal delivery to the fpm master process till proper signal
handlers are set. Prevent the following case:

- Running master process receives `SIGUSR2` and performs `execvp()`.
- Another `SIGUSR2` is arrived before signal handlers are set.
- Master process dies.
- Requests to the HTTP server handled by PHP-fpm can not be served
  any more.

Block some signals using `sigprocmask()` before `execvp()` and early
in the `main()` function. Unblock signals as soon as proper
handlers are set.

Fixes bug #74083

5 years agoImprove the error message in timeout tests
Fabien Villepinte [Sun, 20 Oct 2019 08:55:27 +0000 (10:55 +0200)]
Improve the error message in timeout tests

Closes GH-4818.

5 years agoFix proto of enchant_broker_list_dicts()
Fabien Villepinte [Sat, 19 Oct 2019 20:11:34 +0000 (22:11 +0200)]
Fix proto of enchant_broker_list_dicts()

5 years agoFix miscellaneous typos in docs
Tyson Andre [Sat, 19 Oct 2019 16:42:57 +0000 (12:42 -0400)]
Fix miscellaneous typos in docs

5 years agoAdd tests for DOMEntityReference
Fabien Villepinte [Sat, 19 Oct 2019 13:42:16 +0000 (15:42 +0200)]
Add tests for DOMEntityReference

5 years agoFix #78684: PCRE bug72463_2 test is sending emails on Linux
Christoph M. Becker [Sat, 19 Oct 2019 10:53:29 +0000 (12:53 +0200)]
Fix #78684: PCRE bug72463_2 test is sending emails on Linux

This test is not supposed to run on non Windows systems; otherwise it
would try to send an email.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Sat, 19 Oct 2019 09:50:41 +0000 (11:50 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78694: Appending to a variant array causes segfault

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Sat, 19 Oct 2019 09:48:40 +0000 (11:48 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78694: Appending to a variant array causes segfault

5 years agoFix #78694: Appending to a variant array causes segfault
Christoph M. Becker [Sat, 19 Oct 2019 09:41:28 +0000 (11:41 +0200)]
Fix #78694: Appending to a variant array causes segfault

`write_dimension` object handlers have to be able to handle `NULL`
`offset`s; for now we simply throw an exception instead of following
the `NULL` pointer.

5 years agoImprove exif tag name fetching
Nikita Popov [Wed, 9 Oct 2019 13:55:48 +0000 (15:55 +0200)]
Improve exif tag name fetching

5 years agoImplement a cache for exif tag name lookups
Nikita Popov [Wed, 9 Oct 2019 13:39:03 +0000 (15:39 +0200)]
Implement a cache for exif tag name lookups

5 years agoLimit the amount of errors generated during exif parsing
Nikita Popov [Wed, 9 Oct 2019 13:07:51 +0000 (15:07 +0200)]
Limit the amount of errors generated during exif parsing

Emitting errors is fairly expensive, to the point that parsing
a file with a huge number of invalid tags can take seconds.
Generating ten thousand errors is unlikely to help anybody, but
constitutes a potential DOS vector.

5 years agoFix test case
Christoph M. Becker [Fri, 18 Oct 2019 14:23:56 +0000 (16:23 +0200)]
Fix test case

Cf. <https://github.com/php/php-src/pull/4687>.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 18 Oct 2019 13:32:58 +0000 (15:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #70153 \DateInterval incorrectly unserialized

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 18 Oct 2019 13:31:48 +0000 (15:31 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #70153 \DateInterval incorrectly unserialized

5 years agoFix #70153 \DateInterval incorrectly unserialized
m.yakunin [Mon, 16 Sep 2019 16:50:55 +0000 (18:50 +0200)]
Fix #70153 \DateInterval incorrectly unserialized

Added a separate macro for reading 'days' property, so that bool(false)
is correctly converted to the proper internal representation.

5 years agoUpdate array access syntax deprecated
Alex Porto dos Santos [Thu, 17 Oct 2019 18:39:22 +0000 (15:39 -0300)]
Update array access syntax deprecated

Update array access syntax deprecated in line 175 and 204
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/alex/php/hello/ext_skel.php on line 175
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/alex/php/hello/ext_skel.php on line 204

5 years agoIntegrate property types with variance system
Nikita Popov [Thu, 17 Oct 2019 11:01:02 +0000 (13:01 +0200)]
Integrate property types with variance system

Property types are invariant, but may still have to load classes in
order to check for class aliases. This class loading should follow
the same rules as all other variance checks, rather than just
loading unconditionally.

This change integrates property type invariance checks into the
variance system as a new obligation type, and prevent early binding
if the type check cannot be performed.

5 years agoChange port to avoid collision with others tests
Fabien Villepinte [Wed, 16 Oct 2019 18:50:54 +0000 (20:50 +0200)]
Change port to avoid collision with others tests

The 64321 port is already used with the ext/openssl tests.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Derick Rethans [Tue, 15 Oct 2019 20:00:57 +0000 (21:00 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoImport timelib version 2018.03
Derick Rethans [Tue, 15 Oct 2019 20:00:39 +0000 (21:00 +0100)]
Import timelib version 2018.03

5 years agoSilence undefined index warning when openssl not available.
Sara Golemon [Tue, 15 Oct 2019 19:37:56 +0000 (15:37 -0400)]
Silence undefined index warning when openssl not available.

5 years agoPrevent parallel testing conflicts
Christoph M. Becker [Tue, 15 Oct 2019 14:11:49 +0000 (16:11 +0200)]
Prevent parallel testing conflicts

disk_free_space_basic.phpt already uses this directory, so we rename
it.

5 years agoUpdate NEWS for 7.4.0RC5
Derick Rethans [Tue, 15 Oct 2019 11:29:33 +0000 (11:29 +0000)]
Update NEWS for 7.4.0RC5

5 years agoUpdate NEWS for PHP 7.4.0RC4
Derick Rethans [Tue, 15 Oct 2019 11:28:15 +0000 (11:28 +0000)]
Update NEWS for PHP 7.4.0RC4

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Mon, 14 Oct 2019 14:50:06 +0000 (16:50 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix checksum calculation for opcache

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Mon, 14 Oct 2019 14:48:48 +0000 (16:48 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix checksum calculation for opcache

5 years agoFix checksum calculation for opcache
Mitch Hagstrand [Wed, 9 Oct 2019 08:38:11 +0000 (03:38 -0500)]
Fix checksum calculation for opcache

5 years agoFix 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.

5 years agoAdd "-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

5 years agoFix 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.

5 years agoFix 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
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

5 years agoFix #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

5 years agoAzure: Publish code coverage results
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.

5 years agoAdd upgrading note for round(-0.0) change
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.

5 years agoRemove configure checks for ltp when using --enable-gcov
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.

5 years agoNEWS
Remi Collet [Fri, 11 Oct 2019 11:38:15 +0000 (13:38 +0200)]
NEWS

5 years agoFix #78662: stream_write bad error detection
Remi Collet [Fri, 11 Oct 2019 11:36:16 +0000 (13:36 +0200)]
Fix #78662: stream_write bad error detection

5 years agoReplace port already used
Fabien Villepinte [Thu, 10 Oct 2019 17:47:20 +0000 (19:47 +0200)]
Replace port already used

Closes GH-4811.

5 years agoMerge branch 'PHP-7.3' into 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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 10 Oct 2019 14:14:37 +0000 (16:14 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix leak in phar open
Nikita Popov [Thu, 10 Oct 2019 14:14:04 +0000 (16:14 +0200)]
Fix leak in phar open

5 years agoRevert "Fixed CLI/CGI/FPM build, when they are built together with Apache SAPI"
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.

5 years agoRevert "Don't buid static libaraies when only DSO required"
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.

5 years agoRevert "Link executable files using non PIC object files. This reduces PIC overhead...
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.

5 years agoReturn error_zval form get_property_ptr_ptr on exception
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.

5 years agoExplicitly check for exceptions in by-ref obj prop assign
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.