summaryrefslogtreecommitdiff
path: root/ext/mbstring/php_mbregex.c
Commit message (Collapse)AuthorAgeFilesLines
* Avoid onig match param unused variable warningNikita Popov2019-04-111-1/+1
|
* Merge branch 'mb-limit-73' into PHP-7.3Stanislav Malyshev2019-04-011-5/+41
|\ | | | | | | | | | | | | * mb-limit-73: Add fallbacks for older oniguruma versions Add mbstring.regex_stack_limit to php.ini-* Implement RF bug #72777 - ensure stack limits on mbstring functions.
| * Add fallbacks for older oniguruma versionsStanislav Malyshev2019-03-301-1/+13
| |
| * Implement RF bug #72777 - ensure stack limits on mbstring functions.Yasuo Ohgaki2019-03-281-5/+29
| | | | | | | | | | The patch creates new config: mbstring.regex_stack_limit, which defaults to 100000.
* | Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2019-03-281-3/+17
|\ \ | |/ |/| | | | | | | | | * PHP-7.2: Validate subject encoding in mb_split and mb_ereg_match Validate pattern against mbregex encoding SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws
| * Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-03-281-3/+17
| |\ | | | | | | | | | | | | | | | | | | * PHP-7.1: Validate subject encoding in mb_split and mb_ereg_match Validate pattern against mbregex encoding SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws
| | * Validate subject encoding in mb_split and mb_ereg_matchNikita Popov2019-03-271-0/+10
| | | | | | | | | | | | | | | We were already validating the subject encoding in most functions, but not these two.
| | * Validate pattern against mbregex encodingNikita Popov2019-03-271-3/+7
| | | | | | | | | | | | | | | | | | Oniguruma does not consistently perform this validation itself (at least on older versions), so make sure we check pattern encoding validity on the PHP side.
| | * Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | |
| * | Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | |
* | | Fixed bug #77514Nikita Popov2019-01-241-2/+1
| | |
* | | Fixed bug #77428Nikita Popov2019-01-081-1/+3
| | | | | | | | | | | | | | | mb_ereg_replace historically has not supported escaping backslashes with backslashes. Go back to that behavior for BC reasons.
* | | Fix #77367: Negative size parameter in mb_splitChristoph M. Becker2019-01-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | When adding the last element to the result value of `mb_split`, the `chunk_pos` may point beyond the end of the string, in which case the unsigned `n` would underflow. Therefore, we check whether this is the case in the first place, and only calculate `n` otherwise. Since `n` is no longer used outside the block, we move its declaration inside.
* | | Fix typos in code commentsPeter Kokot2018-07-251-1/+1
| | |
* | | Remove unused Git attributes identPeter Kokot2018-07-251-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* | | Add UPGRADING for mb_ereg changesNikita Popov2018-07-071-20/+14
| | | | | | | | | | | | Also some minor code cleanup.
* | | adds support for named subpatterns to `mb_ereg_replace`ju1ius2018-07-061-30/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Named subpatterns are now passed to `mb_ereg_replace_callback`. This commit also adds a subset of the oniguruma back-reference syntax for replacements: * `\k<name>` and `\k'name'` for named subpatterns. * `\k<n>` and `\k'n'` for numbered subpatterns These last two notations allow referencing numbered groups where n > 9.
* | | adds support for named captures to mb_ereg & mb_ereg_searchju1ius2018-07-061-0/+67
| | | | | | | | | | | | | | | | | | | | | `mb_ereg`, `mb_ereg_search_regs` & `mb_ereg_search_getregs` returned only numbered capturing groups. Now they return both numbered and named capturing groups. Fixes Bug #72704.
* | | Fixed incorrrecr zval_dtor() usage to replace value of argument passed by ↵Dmitry Stogov2018-07-051-1/+1
| | | | | | | | | | | | reference, that may lead to memory leaks.
* | | Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized ↵Dmitry Stogov2018-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | destructors. zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places. Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
* | | Remove code duplicationNikita Popov2018-06-201-12/+8
| | | | | | | | | | | | And fix indentation
* | | Rework datatypes wrt warningsAnatol Belski2018-03-201-13/+15
| | |
* | | Merge branch 'PHP-7.2'Christoph M. Becker2018-03-201-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fix #76113: mbstring does not build with Oniguruma 6.8.1
| * | Merge branch 'PHP-7.1' into PHP-7.2Christoph M. Becker2018-03-201-1/+1
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: Fix #76113: mbstring does not build with Oniguruma 6.8.1
| | * Fix #76113: mbstring does not build with Oniguruma 6.8.1Christoph M. Becker2018-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | As of Oniguruma 6.8.1, the regex structure has been moved from the public `oniguruma.h` to the private `regint.h`. Thus, it is no longer possible to directly access the struct's members, and actually, there is no need to, since there are respective accessor functions available at least of 2.3.1.
| | * year++Xinchen Hui2018-01-021-1/+1
| | |
| | * Update copyright headers to 2017Sammy Kaye Powers2017-01-041-1/+1
| | |
| * | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | Trailing whitespacesGabriel Caruso2018-01-031-1/+1
| | | | | | | | | | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* | | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | Move constants into read-only data segmentDmitry Stogov2017-12-141-3/+3
| | |
* | | Use Zend MM heapDmitry Stogov2017-11-011-4/+4
|/ /
* | Remove more unnecessary checks on Zend's allocator functionsThomas Punt2017-03-161-3/+0
| |
* | Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
|/
* Fixed bug #73646 (mb_ereg_search_init null pointer dereference)Xinchen Hui2016-12-091-6/+6
|
* Fixed bug #73532 (Null pointer dereference in mb_eregi)Xinchen Hui2016-11-161-2/+4
|
* Fix #72711: `mb_ereg` does not clear the `$regs` parameter on failureju1ius2016-08-051-2/+5
| | | | | When `mb_ereg` failed to match, it didn't update the `$regs` argument. Now it will always set it to the empty array.
* Merge branch 'PHP-7.0' into PHP-7.1Christoph M. Becker2016-07-301-1/+1
|\
| * Merge branch 'PHP-5.6' into PHP-7.0Christoph M. Becker2016-07-301-1/+1
| |\
| | * fixes bad address given to onig_error_code_to_strju1ius2016-07-301-1/+1
| | | | | | | | | | | | | | | | | | Closes bug #72710 (cherry picked from commit 0fb7eb6723bcc6fd98053911543e801edb5ab763)
* | | Merge branch 'PHP-7.0' into PHP-7.1Christoph M. Becker2016-07-281-1/+1
|\ \ \ | |/ / | | | | | | | | | # Resolved conflicts: # ext/mbstring/php_mbregex.c
| * | Merge branch 'PHP-5.6' into PHP-7.0Christoph M. Becker2016-07-281-1/+1
| |\ \ | | |/ | | | | | | | | | # Resolved conflicts: # ext/mbstring/php_mbregex.c
| | * Fix #72694: mb_ereg_search_setpos does not accept a string's last positionChristoph M. Becker2016-07-281-1/+1
| | | | | | | | | | | | | | | Setting the search position immediately behind the last character should be allowed, so we fix this off-by-one error.
* | | Merge branch 'PHP-7.0' into PHP-7.1Christoph M. Becker2016-07-281-1/+1
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.6' into PHP-7.0Christoph M. Becker2016-07-281-1/+1
| |\ \ | | |/
| | * Fix #72693: mb_ereg_search increments search position when a match zero-widthChristoph M. Becker2016-07-281-1/+1
| | | | | | | | | | | | That's caused by an off-by-one error, which we fix.
* | | Merge branch 'PHP-7.0' into PHP-7.1Christoph M. Becker2016-07-281-3/+0
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.6' into PHP-7.0Christoph M. Becker2016-07-281-3/+0
| |\ \ | | |/ | | | | | | | | | # Resolved conflicts: # ext/mbstring/php_mbregex.c
| | * Fix #72691: mb_ereg_search raises a warning if a match zero-widthChristoph M. Becker2016-07-281-3/+0
| | | | | | | | | | | | | | | That warning doesn't make sense (PCRE doesn't throw such a warning either), so we remove it.
* | | check the encoding of argument for mb_ereg, mb_ereg_replace, mb_ereg_search_initMasaki Kagaya2016-07-171-3/+29
| | |