]> granicus.if.org Git - php/log
php
5 years agoMerge branch 'PHP-7.4'
Stanislav Malyshev [Tue, 12 Nov 2019 07:08:52 +0000 (23:08 -0800)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix bug #78804 - Segmentation fault in Locale::filterMatches

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Stanislav Malyshev [Tue, 12 Nov 2019 07:08:44 +0000 (23:08 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #78804 - Segmentation fault in Locale::filterMatches

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Stanislav Malyshev [Tue, 12 Nov 2019 07:08:38 +0000 (23:08 -0800)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #78804 - Segmentation fault in Locale::filterMatches

5 years agoFix bug #78804 - Segmentation fault in Locale::filterMatches
Stanislav Malyshev [Tue, 12 Nov 2019 06:30:08 +0000 (22:30 -0800)]
Fix bug #78804 - Segmentation fault in Locale::filterMatches

5 years agoMake test more resilient
Christoph M. Becker [Mon, 11 Nov 2019 17:08:00 +0000 (18:08 +0100)]
Make test more resilient

`socket_bind()` may raise `E_WARNING` on failure, which would cause the
test to fail.

5 years agoFix clean section of test case
Christoph M. Becker [Mon, 11 Nov 2019 14:56:44 +0000 (15:56 +0100)]
Fix clean section of test case

5 years agoiconv_strlen() cannot return a string
Christoph M. Becker [Mon, 11 Nov 2019 14:39:52 +0000 (15:39 +0100)]
iconv_strlen() cannot return a string

5 years agoAdd union return types for function stubs
Máté Kocsis [Fri, 8 Nov 2019 22:29:12 +0000 (23:29 +0100)]
Add union return types for function stubs

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 11 Nov 2019 11:56:32 +0000 (12:56 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix test case for Windows

5 years agoFix test case for Windows
Christoph M. Becker [Mon, 11 Nov 2019 11:48:17 +0000 (12:48 +0100)]
Fix test case for Windows

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 11 Nov 2019 11:34:50 +0000 (12:34 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix test cases which fail on Windows debug builds

5 years agoFix test cases which fail on Windows debug builds
Christoph M. Becker [Mon, 11 Nov 2019 11:14:05 +0000 (12:14 +0100)]
Fix test cases which fail on Windows debug builds

We use the portable {TMP} instead of the hard-coded /tmp, and skip
mysqli_debug_append.phpt on Windows, because unlinking the trace file
while the connection is still open won't work there.

5 years agoProperly declare methods
Christoph M. Becker [Mon, 11 Nov 2019 09:57:13 +0000 (10:57 +0100)]
Properly declare methods

While declaring methods with `PHP_FALIAS` kind of works, it is
semantically confusing, and also doesn't allow to specify access flags.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Mon, 11 Nov 2019 09:09:47 +0000 (12:09 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78714 (funcs returning pointer can't use call convention spec)

5 years agoFixed bug #78714 (funcs returning pointer can't use call convention spec)
Dmitry Stogov [Mon, 11 Nov 2019 09:07:48 +0000 (12:07 +0300)]
Fixed bug #78714 (funcs returning pointer can't use call convention spec)

5 years agoRevert "Fix #78790: mysqli_get_client_info() expects exactly 0 parameters"
Christoph M. Becker [Mon, 11 Nov 2019 09:06:21 +0000 (10:06 +0100)]
Revert "Fix #78790: mysqli_get_client_info() expects exactly 0 parameters"

This reverts commit 87fad8cdf0b978bb7dca5123cb77efd1449c0132, since,
apparently, `mysqli_get_client_info()` is also supposed to be called
without argument.

5 years agoFix #78790: mysqli_get_client_info() expects exactly 0 parameters
Christoph M. Becker [Mon, 11 Nov 2019 08:58:10 +0000 (09:58 +0100)]
Fix #78790: mysqli_get_client_info() expects exactly 0 parameters

`mysqli_get_client_info()` and `mysqli_thread_safe()` can also be
called as methods, so we have to cater to this when parsing the
arguments.

5 years agoMerge branch 'DomFaliasCleanup'
Benjamin Eberlei [Sat, 9 Nov 2019 20:30:25 +0000 (21:30 +0100)]
Merge branch 'DomFaliasCleanup'

5 years agoext/dom: Replace usages of PHP_FUNCTION and aliases with PHP_METHOD.
Benjamin Eberlei [Sat, 9 Nov 2019 19:36:15 +0000 (20:36 +0100)]
ext/dom: Replace usages of PHP_FUNCTION and aliases with PHP_METHOD.

5 years agoMerge branch 'dom-arginfo-stubs'
Benjamin Eberlei [Sat, 9 Nov 2019 14:16:09 +0000 (15:16 +0100)]
Merge branch 'dom-arginfo-stubs'

5 years agoMerge branch 'PHP-7.4'
Fabien Villepinte [Sat, 9 Nov 2019 12:56:23 +0000 (13:56 +0100)]
Merge branch 'PHP-7.4'

5 years agoFix conflicts in windows ACL tests
Fabien Villepinte [Sat, 9 Nov 2019 12:55:42 +0000 (13:55 +0100)]
Fix conflicts in windows ACL tests

Closes GH-4898.

5 years agoMerge branch 'PHP-7.4'
Fabien Villepinte [Fri, 8 Nov 2019 19:36:55 +0000 (20:36 +0100)]
Merge branch 'PHP-7.4'

5 years agoMake test runner runnable without arguments
Fabien Villepinte [Fri, 8 Nov 2019 19:33:19 +0000 (20:33 +0100)]
Make test runner runnable without arguments

The default PHP executable was not set when no args were provided.

Closes GH-4894.

5 years agoAdd support for union types in stubs
Nikita Popov [Fri, 8 Nov 2019 14:38:00 +0000 (15:38 +0100)]
Add support for union types in stubs

This is the MVP for supporting union types in PHP stubs. Return
types with only builtin types work, which is the part we mainly
need.

Closes GH-4895.

5 years agoFix compile error using zend_parse_parameters_throw()
Tyson Andre [Fri, 8 Nov 2019 14:58:05 +0000 (09:58 -0500)]
Fix compile error using zend_parse_parameters_throw()

Fixes a bug introduced in 4008704f62

The trailing comma is followed by `)` when the varargs list
is empty in the macro, which is a syntax error in C

This fixes compilation of code such as the following

    PHP_FUNCTION(get_metadata) {
      if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "") == FAILURE) {
        return;
      }

Closes GH-4896.

5 years agoMerge branch 'PHP-7.4'
Levi Morrison [Fri, 8 Nov 2019 15:04:52 +0000 (08:04 -0700)]
Merge branch 'PHP-7.4'

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Levi Morrison [Fri, 8 Nov 2019 15:02:49 +0000 (08:02 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoWrap php_random.h in C++ portability macros
Levi Morrison [Thu, 7 Nov 2019 21:51:21 +0000 (14:51 -0700)]
Wrap php_random.h in C++ portability macros

Also remove portability headers. This goes against the existing
conventions of these files.

5 years agoImplement union types
Nikita Popov [Wed, 25 Sep 2019 11:21:13 +0000 (13:21 +0200)]
Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same time. Additionall, zend_type_list is
introduced as a new kind of pointer payload, which is used to store
multiple class types. Each of the class types is a tagged pointer,
which may be either a class name or class entry. The latter is only
used for typed properties, while arguments/returns will instead use
cache slots. A type list can contain a mix of both names and CEs at
the same time, as not all classes may be resolvable.

One thing this is missing is support for union types in arginfo
and stubs, which I want to handle separately.

I've also dropped the special object code from the JIT implementation
for now -- I plan to add this back in a different form at a later time.
For now I did not want to include non-trivial JIT changes together
with large functional changes.

Another possible piece of follow-up work is to implement "iterable"
as an internal alias for "array|Traversable". I believe this will
eliminate quite a few special-cases that had to be implemented.

Closes GH-4838.

5 years agoMake zend_type a 2-field struct
Nikita Popov [Fri, 20 Sep 2019 15:01:19 +0000 (17:01 +0200)]
Make zend_type a 2-field struct

We now store the pointer payload and the type mask separately. This
is in preparation for union types, where we will be using both at
the same time.

To avoid increasing the size of arginfo structures, the
pass_by_reference and is_variadic fields are now stored as part of
the type_mask (8-bit are reserved for custom use).

Different types of pointer payloads are distinguished based on bits
in the type_mask.

5 years agoConvert ext/dom to use arginfo stub.
Benjamin Eberlei [Fri, 8 Nov 2019 14:05:35 +0000 (15:05 +0100)]
Convert ext/dom to use arginfo stub.

5 years agoClean DONE tags from tests
Fabien Villepinte [Thu, 7 Nov 2019 20:31:47 +0000 (21:31 +0100)]
Clean DONE tags from tests

Remove most of the `===DONE===` tags and its variations.
Keep `===DONE===` if the test output otherwise becomes empty.

Closes GH-4872.

5 years agoReduce reallocations in exif parsing
Nikita Popov [Thu, 7 Nov 2019 20:07:58 +0000 (21:07 +0100)]
Reduce reallocations in exif parsing

Instead of reallocating lists element by element, increase the
allocated list size exponentially.

5 years agoReduce size limit in parser fuzzer
Nikita Popov [Thu, 7 Nov 2019 19:47:04 +0000 (20:47 +0100)]
Reduce size limit in parser fuzzer

Avoid stack overflows during compilation of deeply nested
expressions.

5 years agoAdd stubs for standard lib functions
Máté Kocsis [Fri, 1 Nov 2019 14:00:14 +0000 (15:00 +0100)]
Add stubs for standard lib functions

5 years agoPromote register_tick_function() callback validation warning to an exception
Máté Kocsis [Thu, 7 Nov 2019 00:11:57 +0000 (01:11 +0100)]
Promote register_tick_function() callback validation warning to an exception

5 years agoRemove PHP_SLEEP_NON_VOID as it is not useful anymore
Máté Kocsis [Thu, 7 Nov 2019 00:10:52 +0000 (01:10 +0100)]
Remove PHP_SLEEP_NON_VOID as it is not useful anymore

5 years agoAdd compile warning for "confusable" types
Nikita Popov [Fri, 11 Oct 2019 13:32:02 +0000 (15:32 +0200)]
Add compile warning for "confusable" types

We have a number of "types" like integer which are not actually
supported as builtin types -- instead they are silently interpreted
as class types.

I've seen this cause confusion a few types already. This change adds
a warning in this case. In the unlikely case that someone legitimately
wants to type against an integer class, the warning can be suppressed
by writing \integer or "use integer", or using Integer (this warning
will only trigger for lowercase spellings).

Closes GH-4815.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 13:42:16 +0000 (14:42 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Wrap hrtime in `extern "c" {}`

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 7 Nov 2019 13:42:11 +0000 (14:42 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Wrap hrtime in `extern "c" {}`

5 years agoWrap hrtime in `extern "c" {}`
Levi Morrison [Wed, 6 Nov 2019 17:30:09 +0000 (10:30 -0700)]
Wrap hrtime in `extern "c" {}`

This allows it to be used by C++ extensions without them having to do their own forward declares.

Closes GH-4890.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 13:32:03 +0000 (14:32 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix php_pcre_mutex_free()

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 7 Nov 2019 13:31:55 +0000 (14:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix php_pcre_mutex_free()

5 years agoFix php_pcre_mutex_free()
Nikita Popov [Thu, 7 Nov 2019 13:29:51 +0000 (14:29 +0100)]
Fix php_pcre_mutex_free()

We should only set the mutex to NULL if we actually freed it.
Due to missing braces non-main threads may currently set it to
NULL first.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 13:06:53 +0000 (14:06 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove outdated comments in test

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 7 Nov 2019 13:06:48 +0000 (14:06 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Remove outdated comments in test

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 7 Nov 2019 13:06:33 +0000 (14:06 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Remove outdated comments in test

5 years agoRemove outdated comments in test
Nikita Popov [Thu, 7 Nov 2019 13:06:23 +0000 (14:06 +0100)]
Remove outdated comments in test

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 12:11:58 +0000 (13:11 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Disable ifunc resolvers under thread sanitizer as well

5 years agoDisable ifunc resolvers under thread sanitizer as well
Nikita Popov [Thu, 7 Nov 2019 12:08:03 +0000 (13:08 +0100)]
Disable ifunc resolvers under thread sanitizer as well

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 10:48:47 +0000 (11:48 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Add UPGRADING note about default object from empty value

[ci skip]

5 years agoAdd UPGRADING note about default object from empty value
Nikita Popov [Thu, 7 Nov 2019 10:48:02 +0000 (11:48 +0100)]
Add UPGRADING note about default object from empty value

Fixes bug #75921.

[ci skip]

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 7 Nov 2019 10:17:38 +0000 (11:17 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78759

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 7 Nov 2019 10:17:14 +0000 (11:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #78759

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 7 Nov 2019 10:16:03 +0000 (11:16 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fixed bug #78759

5 years agoFixed bug #78759
Nikita Popov [Thu, 7 Nov 2019 10:15:29 +0000 (11:15 +0100)]
Fixed bug #78759

Handle INDIRECT values in array.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 7 Nov 2019 09:01:43 +0000 (10:01 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #78788: ./configure generates invalid php_version.h

5 years agoFix #78788: ./configure generates invalid php_version.h
max [Thu, 7 Nov 2019 06:45:55 +0000 (07:45 +0100)]
Fix #78788: ./configure generates invalid php_version.h

Change $SED to "${SED}" such that the IFS is not used to split the
output of that variable.

5 years agoMove extra checks after zpp in get_browser()
Nikita Popov [Wed, 6 Nov 2019 16:50:48 +0000 (17:50 +0100)]
Move extra checks after zpp in get_browser()

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 6 Nov 2019 16:50:20 +0000 (17:50 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove bogus skipifs in get_browser tests

5 years agoRemove bogus skipifs in get_browser tests
Nikita Popov [Wed, 6 Nov 2019 16:48:16 +0000 (17:48 +0100)]
Remove bogus skipifs in get_browser tests

We provide this file, it should be readable.

These checks no longer work, since --INI-- values are no longer
passed to --SKIPIF--.

5 years agoFix consistency issues with array accesses warnings/exceptions
Máté Kocsis [Mon, 4 Nov 2019 18:44:48 +0000 (19:44 +0100)]
Fix consistency issues with array accesses warnings/exceptions

 * Change a number of "resource used as offset" notices to warnings,
   which were previously missed.
 * Throw the "resource used as offset" warning for isset() as well.
 * Make array_key_exists() behavior with regard to different key
   types consistent with isset() and normal array accesses. All key
   types now use the usual coercions and array/object keys throw
   TypeError.

Closes GH-4887.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 6 Nov 2019 11:53:29 +0000 (12:53 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78787

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 6 Nov 2019 11:53:21 +0000 (12:53 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #78787

5 years agoFixed bug #78787
Nikita Popov [Wed, 6 Nov 2019 11:51:25 +0000 (12:51 +0100)]
Fixed bug #78787

Not the first time inheritance of shadow properties causes an issue,
thankfully this whole concept is gone in PHP 7.4.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 5 Nov 2019 17:25:39 +0000 (18:25 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  7.3.13 is next

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 5 Nov 2019 17:25:10 +0000 (18:25 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  7.3.13 is next

5 years ago7.3.13 is next
Christoph M. Becker [Tue, 5 Nov 2019 17:17:04 +0000 (18:17 +0100)]
7.3.13 is next

5 years agoMerge branch 'PHP-7.4'
Sara Golemon [Tue, 5 Nov 2019 15:59:04 +0000 (10:59 -0500)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Bump for 7.2.26-dev

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Sara Golemon [Tue, 5 Nov 2019 15:58:59 +0000 (10:58 -0500)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Bump for 7.2.26-dev

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Sara Golemon [Tue, 5 Nov 2019 15:58:35 +0000 (10:58 -0500)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Bump for 7.2.26-dev

5 years agoBump for 7.2.26-dev
Sara Golemon [Tue, 5 Nov 2019 15:56:19 +0000 (10:56 -0500)]
Bump for 7.2.26-dev

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Tue, 5 Nov 2019 11:16:17 +0000 (12:16 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78775

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 5 Nov 2019 11:15:49 +0000 (12:15 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #78775

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Tue, 5 Nov 2019 11:14:53 +0000 (12:14 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fixed bug #78775

5 years agoFixed bug #78775
Nikita Popov [Tue, 5 Nov 2019 11:13:46 +0000 (12:13 +0100)]
Fixed bug #78775

Clear the OpenSSL error queue before performing SSL stream operations.
As we don't control all code that could possibly be using OpenSSL,
we can't rely on the error queue being empty.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 5 Nov 2019 09:19:06 +0000 (10:19 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove obsolete oniguruma.patch

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 5 Nov 2019 09:17:50 +0000 (10:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Remove obsolete oniguruma.patch

5 years agoRemove obsolete oniguruma.patch
Christoph M. Becker [Tue, 5 Nov 2019 09:16:22 +0000 (10:16 +0100)]
Remove obsolete oniguruma.patch

The proper `SIZEOF_SIZE_T` definitions are available as of Oniguruma
6.9.1; no more need to patch.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 Nov 2019 20:36:36 +0000 (21:36 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove dead code `ext/mysqlnd/mysqlnd_net.c`.

5 years agoRemove dead code `ext/mysqlnd/mysqlnd_net.c`.
Adam Saponara [Mon, 4 Nov 2019 19:07:29 +0000 (14:07 -0500)]
Remove dead code `ext/mysqlnd/mysqlnd_net.c`.

I believe this code has been dead since 05c5e05 (2015) now replaced
by `ext/mysqlnd/mysqlnd_vio.c`.

Closes GH-4888.

5 years agoAdd stubs for IntlTimeZone
Máté Kocsis [Fri, 11 Oct 2019 23:19:56 +0000 (01:19 +0200)]
Add stubs for IntlTimeZone

5 years agoMerge branch 'PHP-7.4'
Fabien Villepinte [Mon, 4 Nov 2019 12:56:18 +0000 (13:56 +0100)]
Merge branch 'PHP-7.4'

5 years agoAdd a test for ReflectionClass:getInterfaceNames()
Fabien Villepinte [Mon, 4 Nov 2019 12:51:40 +0000 (13:51 +0100)]
Add a test for ReflectionClass:getInterfaceNames()

The method was not tested against a class without interface.

5 years agoRemove support for array_key_exists() with objects
Nikita Popov [Mon, 4 Nov 2019 12:02:28 +0000 (13:02 +0100)]
Remove support for array_key_exists() with objects

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 4 Nov 2019 11:23:00 +0000 (12:23 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Make test more robust

5 years agoMake test more robust
Christoph M. Becker [Mon, 4 Nov 2019 11:16:05 +0000 (12:16 +0100)]
Make test more robust

Time flies, so obviously the reported uptime may differ a bit (as
already occasionally noticed on CI); we cater to that by allowing a
delay of up to one second.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 Nov 2019 10:34:02 +0000 (11:34 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Revert "Remove configure checks for supported instruction sets"

5 years agoRevert "Remove configure checks for supported instruction sets"
Nikita Popov [Mon, 4 Nov 2019 10:32:46 +0000 (11:32 +0100)]
Revert "Remove configure checks for supported instruction sets"

This reverts commit edccf32f7f36a8bc759b9482737e0c3efcb3a005.

This was reported to cause issues for as yet unknown reasons in
bug #78769. As this was intended as code cleanup, revert this from
7.4 at least. May reapply it to master later.

5 years agoRemove dead code related to inherits props in reflection
Nikita Popov [Mon, 4 Nov 2019 10:24:32 +0000 (11:24 +0100)]
Remove dead code related to inherits props in reflection

Public/protected properties defined in parent classes will be
inherited in the child -- there is no need to explicitly try to
walk up the chain and look them up.

5 years agoStore pointer to property_info in reflection
Nikita Popov [Mon, 4 Nov 2019 09:44:50 +0000 (10:44 +0100)]
Store pointer to property_info in reflection

Instead of constructing a dummy property_info for dynamic properties,
leave the field as NULL and handle this as appropriate.

This was originally part of an alternative fix for bug #78774, but
I think doing it this way is generally preferrable independently
of that.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 Nov 2019 10:04:11 +0000 (11:04 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #78774

5 years agoFixed bug #78774
Nikita Popov [Mon, 4 Nov 2019 10:01:56 +0000 (11:01 +0100)]
Fixed bug #78774

The string held by the zend_type may be released if the property
type gets resolved to a CE. I initially wanted to fix this by
storing a zend_type* instead (so the property type resolution
propagates to the ReflectionType), but decided against this in
light of upcoming union types support, where we also need to
represent parts of the union, and will not have a single zend_type*
we can reference.

5 years agoFix #55005: imagepolygon num_points requirement
Christoph M. Becker [Sat, 2 Nov 2019 12:53:09 +0000 (13:53 +0100)]
Fix #55005: imagepolygon num_points requirement

We actually have to check `$num_points` instead of `2*count($points)`,
because the latter may be greater than the former, but not all elements
of `$points` are guaranteed to be used.  This allowed to pass arrays
with excess elements to draw polygons with less than three vertices.

While the current implementation of `gdImagePolygon()` and friends
would allow us to draw monogons and digons, we don't allow that
anymore, because the respective drawing primitives work slightly
different (e.g. drawing lines support anti-aliasing, but drawing
general polygons does not).

To minimize the BC break, we do not fix this longstanding issue for PHP
7, but target PHP 8 only.

5 years agoAdd ext/phar arginfo stubs
Christoph M. Becker [Sat, 2 Nov 2019 10:39:31 +0000 (11:39 +0100)]
Add ext/phar arginfo stubs

5 years agoReduce oniguruma retry limit in fuzzer
Nikita Popov [Sat, 2 Nov 2019 09:40:41 +0000 (10:40 +0100)]
Reduce oniguruma retry limit in fuzzer

For some patterns matching may take quite long even at retry limit
100000 and it seems that this is not easy to fix on the oniguruma
side.

Reduce the retry limit by another factor of 10 in hope of reducing
timeouts.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Sat, 2 Nov 2019 09:19:56 +0000 (10:19 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Print Client Library Version in phpinfo

5 years agoPrint Client Library Version in phpinfo
Simonov Denis [Thu, 31 Oct 2019 17:40:15 +0000 (18:40 +0100)]
Print Client Library Version in phpinfo

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Sat, 2 Nov 2019 09:13:07 +0000 (10:13 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Explicitly specify ubuntu versions on azure pipelines