Commit graph

1128 commits

Author SHA1 Message Date
Stanislav Malyshev
c176c666e3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:13 -07:00
Stanislav Malyshev
9f269d0d27 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:08 -07:00
Stanislav Malyshev
5d25ebb0dd Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:04 -07:00
Stanislav Malyshev
4b4a656d9e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:20:59 -07:00
Christoph M. Becker
7bf1f9d561 Fix #75457: heap-use-after-free in php7.0.25
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
2019-08-25 19:19:50 -07:00
Remi Collet
8a9e7c8858 Merge branch 'PHP-7.4'
* PHP-7.4:
  ensure proper settings for test
  Update NEWS for 7.4.0RC1
  Update NEWS for PHP 7.4.0beta4
2019-08-20 16:31:24 +02:00
Remi Collet
15dcc1817d Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  ensure proper settings for test
2019-08-20 16:31:11 +02:00
Remi Collet
08aafbe93e ensure proper settings for test 2019-08-20 16:30:52 +02:00
Nikita Popov
8c927442b4 Merge branch 'PHP-7.4' 2019-08-13 14:54:57 +02:00
Nikita Popov
201729840c Mark PCRE locale key as local persistent 2019-08-13 14:49:59 +02:00
Nikita Popov
228bae7d74 Use TypeError for preg_replace type check
This is a type violation warning, and as such should use TypeError
in PHP 8.
2019-08-11 14:28:10 +02:00
Stephen Reay
66b750d07e Add stubs for PCRE extension
Closes GH-4501.
2019-08-11 12:46:42 +02:00
Christoph M. Becker
7f210dd1b9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove upgrade-pcre.php script
2019-08-01 10:50:40 +02:00
Christoph M. Becker
61e1147146 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Remove upgrade-pcre.php script
2019-08-01 10:50:08 +02:00
Christoph M. Becker
b419b24ead Remove upgrade-pcre.php script
This script has not been updated for PCRE2, and it's mostly useless
anyway.  Therefore we remove it altogether.
2019-08-01 10:49:05 +02:00
Stanislav Malyshev
4798570607 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78338: Array cross-border reading in PCRE
2019-07-29 14:51:35 -07:00
Stanislav Malyshev
fd6874c64d Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #78338: Array cross-border reading in PCRE
2019-07-29 14:51:21 -07:00
Christoph M. Becker
8947fd9e9f Fix #78338: Array cross-border reading in PCRE
We backport r1092 from pcre2.
2019-07-29 14:49:33 -07:00
Peter Kokot
ca93928f99 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typos
2019-07-21 01:02:51 +02:00
Markus Staab
577ed5bfa4 Fix typos
Closes GH-4447
2019-07-21 01:01:36 +02:00
Sjon Hortensius
05752d3acf Ref #77388: Don't pass BAD_ESCAPE_IS_LITERAL
This option is considered dangerous and unwanted. To allow for more
graceful migration don't error on now ignored X modifier.

Closes GH-4430.
2019-07-18 10:52:27 +02:00
Dmitry Stogov
f5869118a9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Split destructor
2019-07-04 13:08:08 +03:00
Dmitry Stogov
e3d35b6434 Split destructor 2019-07-04 13:07:47 +03:00
Peter Kokot
624488b5e8 Fix bug #78197: PCRE2 version check
When external PCRE library version is of format ##.##-RC# the check
failed.
2019-07-01 02:42:29 +02:00
Nikita Popov
b98c148f78 Merge branch 'PHP-7.4' 2019-06-28 15:05:00 +02:00
Nikita Popov
54dd762f59 Set up asan+ubsan scheduled build on azure
Also adds an --asan flag to run-tests.php to setup all the necessary
environment variables. Some tests are marked as skipped because they
are incompatible with asan or too slow.

I'm basing this on the DEBUG_ZTS build, which seems to give us the
most mileage.
2019-06-28 15:00:54 +02:00
Nikita Popov
80e4a6aaef Merge branch 'PHP-7.4' 2019-06-17 13:31:11 +02:00
Nikita Popov
ad1b62fca7 Merge branch 'PHP-7.3' into PHP-7.4 2019-06-17 13:31:04 +02:00
Nikita Popov
11b354dd54 Merge branch 'PHP-7.2' into PHP-7.3 2019-06-17 13:30:56 +02:00
Nikita Popov
03db04c3ab Accept null for preg_quote delimiter argument
Related to bug #78163.
2019-06-17 13:30:15 +02:00
Nikita Popov
036b0a1d4d Merge branch 'PHP-7.4' 2019-06-11 12:30:11 +02:00
Nikita Popov
51fb8dc422 Add specialized pair construction API
Closes GH-3990.
2019-06-11 12:29:55 +02:00
Nikita Popov
7686b0b889 Merge branch 'PHP-7.4' 2019-06-05 14:53:50 +02:00
Nikita Popov
a31f46421d Allow exceptions in __toString()
RFC: https://wiki.php.net/rfc/tostring_exceptions

And convert some object to string conversion related recoverable
fatal errors into Error exceptions.

Improve exception safety of internal code performing string
conversions.
2019-06-05 14:25:07 +02:00
Dmitry Stogov
12fd1d4aae Merge branch 'PHP-7.4'
* PHP-7.4:
  Enable pcre valgrind support only in DEBUG build (it affects performance)
2019-05-27 16:20:30 +03:00
Dmitry Stogov
6a4ec6c7e4 Enable pcre valgrind support only in DEBUG build (it affects performance) 2019-05-27 16:20:20 +03:00
Anatol Belski
15cdc6d709 Merge branch 'PHP-7.4'
* PHP-7.4:
  Upgrade bundled PCRE2 to 10.33
2019-05-25 11:42:14 +02:00
Anatol Belski
aa9433e928 Upgrade bundled PCRE2 to 10.33 2019-05-25 11:37:30 +02:00
Joe Watkins
f8d53099c9
Merge branch 'PHP-7.4'
* PHP-7.4:
  Use PKG_CHECK_MODULES to detect valgrind, and share build config with pcre
2019-05-25 09:04:37 +02:00
Hugh McMaster
ef34e00df3
Use PKG_CHECK_MODULES to detect valgrind, and share build config with pcre 2019-05-25 09:04:22 +02:00
Peter Kokot
2cf90bb2f0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Normalize comments in *nix build system m4 files
2019-05-12 18:51:50 +02:00
Peter Kokot
75fb74860d Normalize comments in *nix build system m4 files
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
  favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
2019-05-12 18:43:03 +02:00
Dmitry Stogov
e188e4170f Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference 2019-04-24 18:28:29 +03:00
Dmitry Stogov
2e4686b566 Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference 2019-04-24 18:16:47 +03:00
Dmitry Stogov
34db07567d Use ZEND_TRA_ASSIGN_REF_... macros for by reference arguments of internal functions. 2019-04-24 16:14:48 +03:00
Kalle Sommer Nielsen
59f4490689 Remove HAVE_PCRE, as ext/pcre is always available 2019-04-19 15:18:31 +03:00
Peter Kokot
23804f0c91 Merge branch 'PHP-7.4'
* PHP-7.4:
  ext/pcre/config0.m4: add ac_cv_have_pcre2_jit variable
2019-04-16 17:16:57 +02:00
Artem Panfilov
12ee246ae4 ext/pcre/config0.m4: add ac_cv_have_pcre2_jit variable
The HAVE_PCRE_JIT_SUPPORT check uses AC_RUN_IFELSE, which is not
available when cross-compiling. As a fallback, JIT support is enabled
based on CPU architecture. However, this may be wrong,
e.g. when the JIT the feature was not enabled in the pcre2 build.

Add a cache variable for the PCRE JIT feature to make it possible to
override the check.
2019-04-16 17:15:38 +02:00
Peter Kokot
a3c6a2a132 Merge branch 'PHP-7.4'
* PHP-7.4:
  Disable PACKAGE_* preprocessor symbols
2019-04-13 07:01:11 +02:00
Peter Kokot
69b20f51e1 Disable PACKAGE_* preprocessor symbols
Autoconf defines PACKAGE_* symbols:
- PACKAGE_NAME
- PACKAGE_VERSION
- PACKAGE_TARNAME
- PACKAGE_STRING
- PACKAGE_BUGREPORT
- PACKAGE_URL

and appends them to the generated config.h.in files. With AC_INIT change
via afd52f9d99 where package version, URL,
bug report location and similar meta data are defined, these
preprocessor macros are then non empty strings in the generated
configuration header file. When using phpize, PHP shares the config
files in extensions, warnings of redefined macros appear, such as:
- `warning: 'PACKAGE_NAME' macro redefined`

This patch now disables these non utilized symbols in the generated
config header files.

Better practice would be to include only API specific headers where
needed but this would require even more refactorings. Some extensions
such as pcre, pgsql, and pdo_pgsql solve this issue by undefining some
of these symbols before including the library configuration headers in
the code also. Because these symbols can be defined by any library which
uses Autotools.

Additionally, the unused PACKAGE_* symbols were cleaned for the bundled
libmbfl library and with this patch not needed undef code removed.
2019-04-13 07:00:17 +02:00