| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Commit 54ebebd[1] optimized the match loop, but for this case it has
been overlooked, that we must only loop if we're doing global matching.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=54ebebd686255c5f124af718c966edb392782d4a>
|
|
|
|
|
|
| |
We should only set the mutex to NULL if we actually freed it.
Due to missing braces non-main threads may currently set it to
NULL first.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A new function `pcre_get_compiled_regex_cache_ex()` is introduced,
which allows to compile regexp pattern using the "C" locale instead
of a current locale.
This will be needed to replace setlocale() usage in fileinfo,
which is not thread-safe.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Print a more informative message that indicates that this is
likely a permission issue, and also indicate that pcre.jit=0
can be used to work around it.
Also automatically disable the JIT, so that this message is
only shown once.
See bug #78630.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Related to bug #78163.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.2:
Fix #77827: preg_match does not ignore \r in regex flags
|
| | |
|
| | |
|
| | |
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.1:
Fix yet one data race in PCRE
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PCRE 8.x initializes the pattern compiler on demand during the first
pcre_study call. It could be worse, but since the compiled patterns are
cached, the locking impact is minimal. PCRE 10.x always compiles the
pattern and thread sanitizer doesn't complain about the compiler
initialization, thus the newer PCRE version seems to be unafected.
|
| | |
| | |
| | |
| | |
| | | |
Per documentation, and consistent with other preg functions, we
should return false if an error occurred.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Set preg_options to 0 in php_pcre_get_compiled_regex(_ex). These
options are intended to be passed to pcre2_match. However, we do
not have any flags that actually need to be set during matching
(all relevant flags are set during compilation), and the preg_flags
value is used for PHP-specific flags instead.
This parameter should be removed entirely in master to avoid confusion.
|
| | |
| | |
| | |
| | | |
Don't return preallocated match data more than once in nested calls.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
120 bytes is ample, the doc says.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a locale other than C is active, character tables are saved into the
compile context. Every compiled pattern will have a pointer to the
character table, that was present in the context at the time of the
pattern compilation. Thus, the cache entries don't need to carry char
tables pointer, which reduces their size to 8 bytes on 64-bit. Instead,
the generated character tables are tracked in a separate HashTable. If a
character table was generated before, it'll be assigned to the compile
context when the locale changes. Otherwise a new char table will be
generated and cached.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PREG_JIT_STACKLIMIT_ERROR
Looks like some patterns might require more stack for JIT execution. It
is a regression, as the same pattern was passing using JIT.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The migration from PCRE to PCRE2 missed to rename once occurrence of
`PCRE_UCP` to `PCRE2_UCP`. We fix that. We also revert the changes to
bug52971.phpt which had been incorrectly made in commit a5bc5ae[1].
[1] <http://git.php.net/?p=php-src.git;a=commit;h=a5bc5aed71f7a15f14f33bb31b8e17bf5f327e2d>
|
| | |
| | |
| | |
| | | |
where we sure about string persistence.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Fix use after free revealed by phpdbg
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fix use after free revealed by phpdbg
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|
| | |\
| | | |
| | | |
| | | |
| | | | |
* PHP-7.0:
Fixed #75539 and #74183 - preg_last_error not returning error code after error
|