Commit Graph

116362 Commits

Author SHA1 Message Date
Nikita Popov
ac4e0f0852 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.
2019-11-08 15:15:48 +01:00
Fabien Villepinte
a555cc0b3d 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.
2019-11-07 21:31:47 +01:00
Nikita Popov
80cfd99074 Reduce reallocations in exif parsing
Instead of reallocating lists element by element, increase the
allocated list size exponentially.
2019-11-07 21:20:34 +01:00
Nikita Popov
11649a6d77 Reduce size limit in parser fuzzer
Avoid stack overflows during compilation of deeply nested
expressions.
2019-11-07 21:20:34 +01:00
Máté Kocsis
ab6b412a0b
Add stubs for standard lib functions 2019-11-07 17:59:03 +01:00
Máté Kocsis
afe4a879c7
Promote register_tick_function() callback validation warning to an exception 2019-11-07 17:56:58 +01:00
Máté Kocsis
662afc80f8
Remove PHP_SLEEP_NON_VOID as it is not useful anymore 2019-11-07 17:56:26 +01:00
Nikita Popov
e710862f8c 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.
2019-11-07 15:05:08 +01:00
Nikita Popov
a573862676 Merge branch 'PHP-7.4'
* PHP-7.4:
  Wrap hrtime in `extern "c" {}`
2019-11-07 14:42:16 +01:00
Nikita Popov
6ddb381ae5 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Wrap hrtime in `extern "c" {}`
2019-11-07 14:42:11 +01:00
Levi Morrison
b9dfa12853 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.
2019-11-07 14:41:58 +01:00
Nikita Popov
ea6d22cfad Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix php_pcre_mutex_free()
2019-11-07 14:32:03 +01:00
Nikita Popov
e19f0e86dc Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix php_pcre_mutex_free()
2019-11-07 14:31:55 +01:00
Nikita Popov
6dcc0b859f 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.
2019-11-07 14:31:19 +01:00
Nikita Popov
e9bdb5cd08 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove outdated comments in test
2019-11-07 14:06:53 +01:00
Nikita Popov
aba89f56ff Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Remove outdated comments in test
2019-11-07 14:06:48 +01:00
Nikita Popov
29f4939923 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Remove outdated comments in test
2019-11-07 14:06:33 +01:00
Nikita Popov
ee243bc471 Remove outdated comments in test 2019-11-07 14:06:23 +01:00
Nikita Popov
cb03bbbf60 Merge branch 'PHP-7.4'
* PHP-7.4:
  Disable ifunc resolvers under thread sanitizer as well
2019-11-07 13:11:58 +01:00
Nikita Popov
dacadf5aa3 Disable ifunc resolvers under thread sanitizer as well 2019-11-07 13:08:03 +01:00
Nikita Popov
bae312d040 Merge branch 'PHP-7.4'
* PHP-7.4:
  Add UPGRADING note about default object from empty value

[ci skip]
2019-11-07 11:48:52 +01:00
Nikita Popov
d3d85cbcc1 Add UPGRADING note about default object from empty value
Fixes bug #75921.

[ci skip]
2019-11-07 11:48:02 +01:00
Nikita Popov
0027ad4801 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78759
2019-11-07 11:17:38 +01:00
Nikita Popov
aed4f6e849 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #78759
2019-11-07 11:17:14 +01:00
Nikita Popov
8d2a9d8859 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #78759
2019-11-07 11:16:24 +01:00
Nikita Popov
5fa6dcd972 Fixed bug #78759
Handle INDIRECT values in array.
2019-11-07 11:15:29 +01:00
Christoph M. Becker
34dda406bd Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78788: ./configure generates invalid php_version.h
2019-11-07 10:01:43 +01:00
max
0988f69634 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.
2019-11-07 10:01:02 +01:00
Nikita Popov
b312598daf Move extra checks after zpp in get_browser() 2019-11-06 17:50:48 +01:00
Nikita Popov
34ea5b0585 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove bogus skipifs in get_browser tests
2019-11-06 17:50:20 +01:00
Nikita Popov
f494a36618 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--.
2019-11-06 17:48:52 +01:00
Máté Kocsis
14bdb0cfc7 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.
2019-11-06 12:56:47 +01:00
Nikita Popov
0b0d4eb0eb Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78787
2019-11-06 12:53:29 +01:00
Nikita Popov
a3e454aacc Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #78787
2019-11-06 12:53:21 +01:00
Nikita Popov
6d4965febd Fixed bug #78787
Not the first time inheritance of shadow properties causes an issue,
thankfully this whole concept is gone in PHP 7.4.
2019-11-06 12:52:34 +01:00
Christoph M. Becker
abc382e885 Merge branch 'PHP-7.4'
* PHP-7.4:
  7.3.13 is next
2019-11-05 18:25:39 +01:00
Christoph M. Becker
537c6a6992 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  7.3.13 is next
2019-11-05 18:25:10 +01:00
Christoph M. Becker
4c9ba3e042 7.3.13 is next 2019-11-05 18:20:56 +01:00
Sara Golemon
f8de6309bb Merge branch 'PHP-7.4'
* PHP-7.4:
  Bump for 7.2.26-dev
2019-11-05 10:59:04 -05:00
Sara Golemon
566f2b0f69 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Bump for 7.2.26-dev
2019-11-05 10:58:59 -05:00
Sara Golemon
e85cae8ef4 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Bump for 7.2.26-dev
2019-11-05 10:58:35 -05:00
Sara Golemon
d317e16e89
Bump for 7.2.26-dev 2019-11-05 10:57:29 -05:00
Nikita Popov
c849438bd0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78775
2019-11-05 12:16:17 +01:00
Nikita Popov
3e41ade638 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #78775
2019-11-05 12:16:09 +01:00
Nikita Popov
747cb46244 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #78775
2019-11-05 12:15:44 +01:00
Nikita Popov
4f984a2fdb 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.
2019-11-05 12:13:46 +01:00
Christoph M. Becker
22725639cc Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove obsolete oniguruma.patch
2019-11-05 10:19:06 +01:00
Christoph M. Becker
214f4cfadb Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Remove obsolete oniguruma.patch
2019-11-05 10:17:50 +01:00
Christoph M. Becker
85874af404 Remove obsolete oniguruma.patch
The proper `SIZEOF_SIZE_T` definitions are available as of Oniguruma
6.9.1; no more need to patch.
2019-11-05 10:16:22 +01:00
Nikita Popov
56cee36374 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove dead code `ext/mysqlnd/mysqlnd_net.c`.
2019-11-04 21:36:36 +01:00