]> granicus.if.org Git - php/log
php
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.

5 years agoFix leak when property AST evaluation fails
Nikita Popov [Thu, 10 Oct 2019 10:44:55 +0000 (12:44 +0200)]
Fix leak when property AST evaluation fails

5 years agoAlso check for exception after stream_eof
Nikita Popov [Thu, 10 Oct 2019 10:07:47 +0000 (12:07 +0200)]
Also check for exception after stream_eof

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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 10 Oct 2019 09:41:29 +0000 (11:41 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix leak on static method call on non-existent class
Nikita Popov [Thu, 10 Oct 2019 09:40:49 +0000 (11:40 +0200)]
Fix leak on static method call on non-existent class

5 years agoReport error if stream_read is not implemented
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.

5 years agoFix leak on "Cannot assign by reference to overloaded object" error
Nikita Popov [Thu, 10 Oct 2019 08:07:54 +0000 (10:07 +0200)]
Fix leak on "Cannot assign by reference to overloaded object" error

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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 9 Oct 2019 15:33:44 +0000 (17:33 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoAvoid float to int cast UB in exif
Nikita Popov [Wed, 9 Oct 2019 15:33:01 +0000 (17:33 +0200)]
Avoid float to int cast UB in exif

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

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

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

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

5 years agoFixed bug #78658
Nikita Popov [Wed, 9 Oct 2019 14:59:38 +0000 (16:59 +0200)]
Fixed bug #78658

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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 9 Oct 2019 12:58:01 +0000 (14:58 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoRemove redundant components < 0 check
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.

5 years agoFix #78650: new COM Crash
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.

5 years agoAvoid file clash in root_check skipifs
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.

5 years agoDon't check type of simple parameter default values
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.

5 years agoHandle "non well formed" exception during ZPP
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.

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

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Tue, 8 Oct 2019 14:13:17 +0000 (16:13 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoAdd pcre_get_compiled_regex_cache_ex() with local_aware flag
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.

5 years agoFixed bug #78648
Nikita Popov [Tue, 8 Oct 2019 13:39:22 +0000 (15:39 +0200)]
Fixed bug #78648

5 years agoFixed bug #78644
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.

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

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