summaryrefslogtreecommitdiff
path: root/ext/pcre/pcre2lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-7.4' into masterChristoph M. Becker2020-09-211-8/+28
|\ | | | | | | | | * PHP-7.4: Fix #80118: Erroneous whitespace match with JIT only
| * Fix #80118: Erroneous whitespace match with JIT onlyChristoph M. Becker2020-09-211-8/+28
| | | | | | | | | | | | | | | | We backport r1273[1] from PCRE2. [1] <https://vcs.pcre.org/pcre2?revision=1273&view=revision> Closes GH-6165.
| * Update to PCRE2 10.35Christoph M. Becker2020-09-1739-3271/+4605
| | | | | | | | | | We also backport the fix for bug #79846, and add a test case for the related bug #79363.
| * Upgrade to PCRE2 10.34Christoph M. Becker2020-04-2238-4628/+7351
| | | | | | | | We backport the slightly modified variant from master.
* | Fix #79846: 8c67c166996 broke simple regexpChristoph M. Becker2020-07-161-12/+12
| | | | | | | | | | | | We backport the respective upstream fix[1]. [1] <https://vcs.pcre.org/pcre2?view=revision&revision=1267>
* | Update to PCRE2 10.35Christoph M. Becker2020-07-0239-3261/+4595
| | | | | | | | | | We also port a fix for the build system regarding the `-fcf-protection` gcc flag; cf. <https://bugs.exim.org/show_bug.cgi?id=2578>.
* | Revert "Update to PCRE2 10.35"Nikita Popov2020-06-3039-4595/+3261
| | | | | | | | | | | | | | This reverts commit b419f96c626d1f9cbbba42698e947e32a0af9c4f. This breaks the GCC build with -fcf-protection (default on Ubuntu at least).
* | Update to PCRE2 10.35Christoph M. Becker2020-06-3039-3261/+4595
| |
* | Fix [-Wundef] warning in PCRE extensionGeorge Peter Banyard2020-05-201-2/+2
| |
* | inline by hand to avoid uninitialized variable warningSebastian Pop2020-01-311-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling with "-Wall -Werror" gcc emits two errors: ../src/pcre2_jit_neon_inc.h:211:8: error: ‘cmp1b’ is used uninitialized in this function [-Werror=uninitialized] 211 | data = fast_forward_char_pair_compare(compare1_type, data, cmp1a, cmp1b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/pcre2_jit_neon_inc.h:212:9: error: ‘cmp2b’ is used uninitialized in this function [-Werror=uninitialized] 212 | data2 = fast_forward_char_pair_compare(compare2_type, data2, cmp2a, cmp2b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The compiler emits the error message before inlining. Because the warning is based on an intra-procedural data flow analysis, the compiler does not see that cmp1b and cmp2b are not used when they are not initialized. Here is the code of that function, cmp2 is only used when ctype is compare_match2 or compare_match1i, and not when ctype is compare_match1: static inline vect_t fast_forward_char_pair_compare(compare_type ctype, vect_t dst, vect_t cmp1, vect_t cmp2) { if (ctype == compare_match2) { vect_t tmp = dst; dst = VCEQQ(dst, cmp1); tmp = VCEQQ(tmp, cmp2); dst = VORRQ(dst, tmp); return dst; } if (ctype == compare_match1i) dst = VORRQ(dst, cmp2); dst = VCEQQ(dst, cmp1); return dst; } The patch inlines by hand the case of compare_match1 such that the code avoids referring to cmp1b and cmp2b. Tested on aarch64-linux with `make check`.
* | Fix bundled PCRE2 compilation on ARM64Anatol Belski2020-01-251-1/+1
| |
* | Upgrade bundled PCRE2 to 10.34Anatol Belski2020-01-2539-4637/+7338
| |
* | Fix #78880: Another bunch of spelling errorsMáté Kocsis2020-01-164-9/+9
|/
* Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-10-071-5/+5
|\
| * Backport fix for uaf during pcre jit fallbackNikita Popov2019-10-071-5/+5
| | | | | | | | | | Backports parts of https://vcs.pcre.org/pcre2?view=revision&revision=1175 fixing https://bugs.exim.org/show_bug.cgi?id=2453.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-09-181-1/+14
|\ \ | |/
| * Fixed bug #78272Nikita Popov2019-09-181-1/+14
| | | | | | | | | | | | | | | | Use MAP_JIT only when running under hardened runtime, because MAP_JIT is incompatible with fork(). The check is based on https://github.com/mono/mono/commit/f879e35e3ed7496d819bd766deb8be6992d068ed.
| * Backport MAP_JIT fixes from PCRE2 10.33Nikita Popov2019-09-181-3/+43
| | | | | | | | | | | | | | | | This is intended to fix the primary issue from bug #77260. Prior to macOS 10.14 multiple MAP_JIT segments were not permitted, leading to mmap failures and corresponding "no more memory" errors on macOS 10.13.
* | Merge branch 'PHP-7.3' into PHP-7.4Stanislav Malyshev2019-07-291-1/+1
|\ \ | |/ | | | | | | * PHP-7.3: Fix #78338: Array cross-border reading in PCRE
| * Fix #78338: Array cross-border reading in PCREChristoph M. Becker2019-07-291-1/+1
| | | | | | | | We backport r1092 from pcre2.
* | Upgrade bundled PCRE2 to 10.33Anatol Belski2019-05-2532-4459/+7212
| |
* | Disable PACKAGE_* preprocessor symbolsPeter Kokot2019-04-131-5/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 afd52f9d9986d92dd0c63832a07ab1a16bf11d53 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.
* Fixed bug #76909 preg_match difference between 7.3 and < 7.3Anatol Belski2018-09-211-3/+3
| | | | Applied upstream patch, see https://bugs.exim.org/show_bug.cgi?id=2321
* Upgrade PCRE2 to 10.32Anatol Belski2018-09-2136-4038/+4870
| | | | (cherry picked from commit d918e0776b5168aed2707b0ca500589844f0faa8)
* Remove extra semicolonsGabriel Caruso2018-07-252-2/+2
|
* Upgrade bundled PCRE2 to 10.31Anatol Belski2018-02-1437-3171/+4888
|
* Trailing whitespaces on ext/*Gabriel Caruso2018-01-041-1/+1
| | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* Trailing whitespacesGabriel Caruso2018-01-036-13/+13
| | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* Remove unused fileAnatol Belski2017-11-141-214/+0
|
* Patch core for PCRE2 supportAnatol Belski2017-11-1357-0/+89523
RFC https://wiki.php.net/rfc/pcre2-migration