| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
|
| |
| |
| |
| |
| | |
The patch creates new config: mbstring.regex_stack_limit, which
defaults to 100000.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
* 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
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
| | |
| | |
| | |
| | |
| | | |
We were already validating the subject encoding in most functions,
but not these two.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
mb_ereg_replace historically has not supported escaping backslashes
with backslashes. Go back to that behavior for BC reasons.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Also some minor code cleanup.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`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.
|
| | |
| | |
| | |
| | | |
reference, that may lead to memory leaks.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
And fix indentation
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Fix #76113: mbstring does not build with Oniguruma 6.8.1
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fix #76113: mbstring does not build with Oniguruma 6.8.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.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
When `mb_ereg` failed to match, it didn't update the `$regs` argument.
Now it will always set it to the empty array.
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Closes bug #72710
(cherry picked from commit 0fb7eb6723bcc6fd98053911543e801edb5ab763)
|
|\ \ \
| |/ /
| | |
| | |
| | | |
# Resolved conflicts:
# ext/mbstring/php_mbregex.c
|
| |\ \
| | |/
| | |
| | |
| | | |
# Resolved conflicts:
# ext/mbstring/php_mbregex.c
|
| | |
| | |
| | |
| | |
| | | |
Setting the search position immediately behind the last character should be
allowed, so we fix this off-by-one error.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | | |
That's caused by an off-by-one error, which we fix.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | | |
# Resolved conflicts:
# ext/mbstring/php_mbregex.c
|
| | |
| | |
| | |
| | |
| | | |
That warning doesn't make sense (PCRE doesn't throw such a warning either),
so we remove it.
|
| | | |
|