summaryrefslogtreecommitdiff
path: root/ext/pcre/php_pcre.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
|
* Fix #73612: preg_*() may leak memoryChristoph M. Becker2016-11-261-5/+5
| | | | | We have to make sure that collectible zvals end up in the GC root buffer, to avoid memory leaks.
* Fixed bug #73483 (Segmentation fault on pcre_replace_callback)Xinchen Hui2016-11-201-32/+65
|
* Fixed bug #73392 (A use-after-free in zend allocator management)Xinchen Hui2016-10-281-5/+3
|
* rename publicly exposed symbol to avoid name conflictsAnatol Belski2016-10-131-3/+3
|
* Fix potential overflows in php_pcre_replace_implStanislav Malyshev2016-10-121-18/+16
|
* Fix bug #73121 Bundled PCRE doesn't compile because JIT isn't supported on s390Anatol Belski2016-09-231-9/+15
|
* Remove zpp fallback code (always use Fast ZPP)Andrea Faulds2016-09-111-58/+0
| | | | | | | | | | | | | | | | Squashed commit of the following: commit 3e27fbb3d22b42d181e15c345f1c59a007b6b58c Author: Andrea Faulds <ajf@ajf.me> Date: Sun Sep 11 19:14:37 2016 +0100 Keep dummy FAST_ZPP macro for compatibility commit 8a7cfd00deaa4a3c5026c97580c49c886c72a5b4 Author: Andrea Faulds <ajf@ajf.me> Date: Mon Sep 5 22:36:03 2016 +0100 Remove FAST_ZPP macro and plain zpp fallback code
* Merge branch 'PHP-5.6' into PHP-7.0Stanislav Malyshev2016-09-051-0/+1
|\ | | | | | | | | * PHP-5.6: Implement #47456: Missing PCRE option 'J'
| * Implement #47456: Missing PCRE option 'J'Christoph M. Becker2016-09-051-0/+1
| | | | | | | | | | | | | | | | | | While it is possible to force the same behavior by setting the internal option (?J), having a dedicated modifier appears to be useful. After all, J is even listed on the "Pattern Modifiers" man page[1], but the description referrs to (?J). [1] <http://php.net/manual/en/reference.pcre.pattern.modifiers.php>
* | fix possible memory leakAnatol Belski2016-08-291-0/+5
| |
* | Merge branch 'PHP-5.6' into PHP-7.0Christoph M. Becker2016-07-271-1/+1
|\ \ | |/ | | | | | | # Resolved conflicts: # ext/pcre/php_pcre.c
| * Fix #72688: preg_match missing group names in matchesChristoph M. Becker2016-07-271-1/+1
| | | | | | | | We have to multiply with 0x100 to properly scale the high byte.
* | Fixed bug #72476 (Memleak in jit_stack)Xinchen Hui2016-06-231-1/+1
| |
* | Fixed bug #72463 mail fails with invalid argumentAnatol Belski2016-06-221-1/+1
| |
* | Revert "Revert "fix #72143 (preg_replace uses int instead of size_t on ↵Xinchen Hui2016-05-161-2/+2
| | | | | | | | | | | | | | | | zend_string_allocs)"" obviously I read the change is in argument lists by mistake :< This reverts commit 9e7afa75140afd047cb95280a610cff9368a7517.
* | Revert "fix #72143 (preg_replace uses int instead of size_t on ↵Xinchen Hui2016-05-161-2/+2
| | | | | | | | | | | | | | | | zend_string_allocs)" ABI break This reverts commit fb951553be0175712f4b757e05004110d7421e04.
* | fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)Joe Watkins2016-05-141-2/+2
| |
* | if there's no JIT support, no RINIT is really neededAnatol Belski2016-03-221-2/+6
| |
* | decrease the default PCRE JIT stack to 64KAnatol Belski2016-03-211-1/+1
| |
* | Increase PCRE JIT stack sizeAnatol Belski2016-03-211-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is done by implementing the custom stack usage. This makes the JIT with mode on more compatible with the JIT mode off. Until now, the default PCRE JIT stack was used which is 32kb big by default. There are situations where some patterns would fail with JIT while working correctly without JIT. The starting size of the JIT stack is still set to 32kb, while the max is set to the permissive 256kb (and can be increased up to 1mb). As until now no suchlike bugs regarding JIT were reported, it is expected, that the stack usage will stay by 32kb in most cases. Though providing the custom stack, applications will have more room for some sporadic stack increase, thus more compatibility.
* | Fix bug #71659Nikita Popov2016-03-091-24/+4
| |
* | Fixed bug #71537 (PCRE segfault from Opcache)Xinchen Hui2016-02-071-6/+8
| |
* | Merge branch 'PHP-5.6' into PHP-7.0Lior Kaplan2016-01-011-1/+1
|\ \ | |/ | | | | | | * PHP-5.6: Happy new year (Update copyright to 2016)
| * Happy new year (Update copyright to 2016)Lior Kaplan2016-01-011-1/+1
| |
| * Merge branch 'PHP-5.5' into PHP-5.6Stanislav Malyshev2015-09-011-1/+1
| |\ | | | | | | | | | | | | * PHP-5.5: More fixes for bug #70219
| | * Merge branch 'PHP-5.4.45' into PHP-5.5.29Stanislav Malyshev2015-09-011-74/+74
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.4.45: add test Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage Fix bug #70172 - Use After Free Vulnerability in unserialize() Fix bug #70388 - SOAP serialize_function_call() type confusion Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories Improve fix for #70385 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes) Conflicts: ext/pcre/php_pcre.c ext/standard/var_unserializer.c
* | | | Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if ↵Xinchen Hui2015-12-211-1/+1
| | | | | | | | | | | | | | | | not already set)
* | | | Removed or simplified incorrect SEPARATE_*() macros usage.Dmitry Stogov2015-09-291-2/+0
| | | |
* | | | Merge branch 'PHP-5.6'Stanislav Malyshev2015-09-021-3/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.6: (21 commits) fix unit tests update NEWS add NEWS for fixes Improve fix for #70172 Fix bug #70312 - HAVAL gives wrong hashes in specific cases fix test add test Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage Fix bug #70172 - Use After Free Vulnerability in unserialize() Fix bug #70388 - SOAP serialize_function_call() type confusion Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories Improve fix for #70385 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes) Fix bug #70219 (Use after free vulnerability in session deserializer) Fix bug ##70284 (Use after free vulnerability in unserialize() with GMP) Fix for bug #69782 Add CVE IDs asigned (post release) to PHP 5.4.43 Add CVE IDs asigned to #69085 (PHP 5.4.39) ... Conflicts: ext/exif/exif.c ext/gmp/gmp.c ext/pcre/php_pcre.c ext/session/session.c ext/session/tests/session_decode_variation3.phpt ext/soap/soap.c ext/spl/spl_observer.c ext/standard/var.c ext/standard/var_unserializer.c ext/standard/var_unserializer.re ext/xsl/xsltprocessor.c
| * | | Merge branch 'PHP-5.5' into PHP-5.6Stanislav Malyshev2015-09-011-69/+69
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.5: update NEWS add NEWS for fixes Improve fix for #70172 Fix bug #70312 - HAVAL gives wrong hashes in specific cases fix test add test Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage Fix bug #70172 - Use After Free Vulnerability in unserialize() Fix bug #70388 - SOAP serialize_function_call() type confusion Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories Improve fix for #70385 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes) Fix bug #70219 (Use after free vulnerability in session deserializer) Fix for bug #69782 Add CVE IDs asigned (post release) to PHP 5.4.43 Add CVE IDs asigned to #69085 (PHP 5.4.39) 5.4.45 next Conflicts: ext/pcre/php_pcre.c ext/standard/var_unserializer.c ext/standard/var_unserializer.re ext/zip/php_zip.c
| | * \ \ Merge branch 'PHP-5.4' into PHP-5.5Stanislav Malyshev2015-09-011-73/+73
| | |\ \ \ | | | |/ / | | |/| / | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.4: Improve fix for #70172 Fix bug #70312 - HAVAL gives wrong hashes in specific cases fix test add test Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage Fix bug #70172 - Use After Free Vulnerability in unserialize() Fix bug #70388 - SOAP serialize_function_call() type confusion Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories Improve fix for #70385 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes) Fix bug #70219 (Use after free vulnerability in session deserializer) Fix for bug #69782 Add CVE IDs asigned (post release) to PHP 5.4.43 Add CVE IDs asigned to #69085 (PHP 5.4.39) 5.4.45 next Conflicts: configure.in ext/pcre/php_pcre.c ext/standard/var_unserializer.c ext/standard/var_unserializer.re main/php_version.h
| | | * Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)Stanislav Malyshev2015-08-281-76/+76
| | | |
* | | | add some range checks to pcreAnatol Belski2015-08-261-0/+15
| | | |
* | | | Merge branch 'PHP-5.6'Christoph M. Becker2015-08-131-9/+14
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.6: Fix #70232: Incorrect bump-along behavior with \K and empty string match Resolved conflicts: ext/pcre/php_pcre.c
| * | | Fix #70232: Incorrect bump-along behavior with \K and empty string matchChristoph M. Becker2015-08-131-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To do global matching (/g), for every empty match we have to do a second match with PCRE_NOTEMPTY turned on. That may fail, however, when the \K escape sequence is involved. For this purpose libpcre 8.0 introduced the PCRE_NOTEMPTY_ATSTART flag, which we will use if available, and otherwise fall back to the old (possibly buggy) behavior.
* | | | add new error constant PREG_JIT_STACKLIMIT_ERRORChristoph M. Becker2015-07-261-1/+9
| | | |
* | | | Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-38/+38
| | | | | | | | | | | | | | | | semantick changes).
* | | | Improved zend_string API (Francois Laupretre)Dmitry Stogov2015-06-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit d96eab8d79b75ac83d49d49ae4665f948d15a804 Author: Francois Laupretre <francois@tekwire.net> Date: Fri Jun 26 01:23:31 2015 +0200 Use the new 'ZSTR' macros in the rest of the code. Does not change anything to the generated code (thanks to compat macros) but cleaner. commit b3526439104ac7a89a8e0c79dbebf33b22bd01b8 Author: Francois Laupretre <francois@tekwire.net> Date: Thu Jun 25 13:45:06 2015 +0200 Improve zend_string API Add missing methods
* | | | Merge branch 'PHP-5.6'Christoph M. Becker2015-06-231-4/+27
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * PHP-5.6: updated NEWS Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
| * | | Merge branch 'PHP-5.5' into PHP-5.6Christoph M. Becker2015-06-231-4/+27
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | * PHP-5.5: updated NEWS Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
| | * | Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the ↵Christoph M. Becker2015-06-231-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | string) When advancing after empty matches, php_pcre_match_impl() as well as php_pcre_replace_impl() always have to advance to the next code point when the u modifier is given, instead of to the next byte.
* | | | Merge branch 'PHP-5.6'Christoph M. Becker2015-06-231-5/+17
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-5.6: Fixed bug #69864 (Segfault in preg_replace_callback)
| * | | Merge branch 'PHP-5.5' into PHP-5.6Christoph M. Becker2015-06-231-6/+18
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | * PHP-5.5: updated NEWS Fixed bug #69864 (Segfault in preg_replace_callback)
| | * | Fixed bug #69864 (Segfault in preg_replace_callback)Christoph M. Becker2015-06-231-6/+18
| | | | | | | | | | | | | | | | | | | | When preg_replace_callback() is used, cache entries which are in use must not be removed. We ensure that by deploying a simple refcounting mechanism.
| | * | Bump yearXinchen Hui2015-01-151-1/+1
| | | |
| * | | bump yearXinchen Hui2015-01-151-1/+1
| | | |
* | | | Fixed Bug #69883 (Compilation failed on PCRE)Xinchen Hui2015-06-191-2/+10
| | | |
* | | | Micro optimizations for pcreXinchen Hui2015-06-191-50/+59
| | | |
* | | | Use better hash functions (reuse key and avoid hash value recalculation)Dmitry Stogov2015-06-171-2/+5
| | | |