| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| | |
Closes GH-5353. From now on, PHP will have reflection information
about default values of parameters of internal functions.
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
| |
| |
| |
| | |
Closes GH-5352
|
| |
| |
| |
| | |
Closes GH-5278
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
this test needs json
|
| | |
|
| |
| |
| |
| | |
Closes GH-5211
|
| |
| |
| |
| |
| |
| |
| |
| | |
Provides the last PCRE error as a human-readable message, similar
to functionality existing in other extensions, such as
json_last_error_msg().
Closes GH-5185.
|
| |
| |
| |
| | |
Closes GH-5092
|
| |
| |
| |
| | |
This reverts commit c31029f335ca1b453af799805c43c37e959ad555.
|
| | |
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
Fixed bug #79257
|
| |
| |
| |
| | |
Replace an existing entry for a given name only if we have a match.
|
|\ \
| |/
| |
| |
| |
| | |
* PHP-7.4:
PCRE: Only remember valid UTF-8 if start offset zero
PCRE: Check whether start offset is on char boundary
|
| |
| |
| |
| |
| |
| |
| | |
PCRE only validates the string starting from the start offset
(minus maximum look-behind, but let's ignore that), so we can
only remember that the string is fully valid UTF-8 is the original
start offset is zero.
|
| |
| |
| |
| |
| |
| | |
We need not just the whole string to be UTF-8, but the start
position to be on a character boundary as well. Check this by
looking for a continuation byte.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
IS_VAR.
This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".
Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
Fixed bug #79188
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fixed bug #79188
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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`.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78853: preg_match() may return integer > 1
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix #78853: preg_match() may return integer > 1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove most of the `===DONE===` tags and its variations.
Keep `===DONE===` if the test output otherwise becomes empty.
Closes GH-4872.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix php_pcre_mutex_free()
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix php_pcre_mutex_free()
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78684: PCRE bug72463_2 test is sending emails on Linux
|
| | |
| | |
| | |
| | |
| | | |
This test is not supposed to run on non Windows systems; otherwise it
would try to send an email.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | |/ / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Backports parts of https://vcs.pcre.org/pcre2?view=revision&revision=1175
fixing https://bugs.exim.org/show_bug.cgi?id=2453.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
As ZPP now throws, it makes no sense to specify an explicit return
value.
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | |/ / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
Part of https://wiki.php.net/rfc/engine_warnings.
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-4732.
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | |/ / |
|