Commit Graph

1062 Commits

Author SHA1 Message Date
Anatol Belski
81eb8e7507 Mark conditions unexpected 2018-07-11 18:05:28 +02:00
Anatol Belski
0630e3bc03 Reduce error buffer size
120 bytes is ample, the doc says.
2018-07-05 17:24:38 +02:00
Anatol Belski
ff8f2710f6 Check return value of pcre2_maketables() 2018-06-29 19:15:38 +02:00
Anatol Belski
e03739d4ab Remove obsolete version checks in tests 2018-06-22 17:56:18 +02:00
Anatol Belski
aa92d42018 If there's no setlocale, char tables are not used 2018-06-22 17:31:26 +02:00
Anatol Belski
8b58b2aac6 Don't discard char tables just generated 2018-06-22 15:18:39 +02:00
Anatol Belski
684ce24eec Improve locale character tables handling and reduce pattern cache size
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.
2018-06-22 14:45:29 +02:00
Anatol Belski
bb2f1a6830 Fixed bug #76514 Regression in preg_match makes it fail with 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.
2018-06-22 11:05:30 +02:00
Christoph M. Becker
23ca95aa3e Fix line endings in new PHPT 2018-06-22 00:01:51 +02:00
Christoph M. Becker
71d16feebb Fix #76512: \w no longer includes unicode characters
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>
2018-06-21 22:45:08 +02:00
Dmitry Stogov
5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Anatol Belski
16216b6666 Switch to more robust config for external pcre2
For the standard layout the first option is pkg-config. Otherwise,
pcre2-config is used, which is produced by a manual installation into a
prefix. This removes the most of the hackish pieces like checking for
the lib filenames and parsing headers.
2018-04-26 14:20:36 +02:00
Anatol Belski
d22d99a344 Fix regex 2018-04-25 16:30:10 +02:00
Anatol Belski
217354899b Revamp pcre config for build with external lib
- support multiarch in addition to the usual lib path
- fix symbol checks
- fix jit availability check
- exit early on unsupported version
2018-04-25 16:17:20 +02:00
Anatol Belski
e107a03419 Fix lib names for build with external libpcre2 2018-04-24 17:06:27 +02:00
Gabriel Caruso
b895690dfa
remove support for string|unicode in tests 2018-02-22 08:11:30 +01:00
Gabriel Caruso
ded3d984c6 Use EXPECT instead of EXPECTF when possible
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
2018-02-20 21:53:48 +01:00
Anatol Belski
28132878f2 Reduce var scope 2018-02-17 13:02:49 +01:00
Anatol Belski
703e037090 Upgrade bundled PCRE2 to 10.31 2018-02-14 13:44:38 +01:00
Gabriel Caruso
21e3b0c70c Remove trailing whitespace in inc files 2018-02-10 19:20:23 +01:00
Gabriel Caruso
ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00
Gabriel Caruso
53dbc69a8d Use %d when expecting line number in tests 2018-02-02 22:35:13 +01:00
Dmitry Stogov
cfee682802 Fixed possible incorrect "mark" usage 2018-01-09 10:30:00 +03:00
Gabriel Caruso
2238403892 Trailing whitespaces on ext/*
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-04 02:38:32 -02:00
Gabriel Caruso
6400264856 Trailing whitespaces
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-03 14:38:00 +01:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov
856ad54f45 Use zend_hash_find() instead of zend_hash_find_ptr() to avoid double check 2017-12-27 13:25:21 +03:00
Michael Moravec
84235344f9 Fixed bug #75355: preg_quote() does not quote # control character 2017-12-16 17:34:41 +01:00
Anatol Belski
57f33b4ce2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix yet one data race in PCRE
2017-12-06 16:04:22 +01:00
Anatol Belski
1b29dc0b1c 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.
2017-12-06 15:59:21 +01:00
Anatol Belski
9c8ffbf1af Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix use after free revealed by phpdbg
2017-12-05 18:35:16 +01:00
Anatol Belski
d4af204637 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix use after free revealed by phpdbg
2017-12-05 18:34:39 +01:00
Anatol Belski
092fd44474 Fix use after free revealed by phpdbg 2017-12-05 18:32:32 +01:00
Anatol Belski
9cca85ff07 Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:41:08 +01:00
Anatol Belski
75a2ee7f7b Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:40:00 +01:00
Anatol Belski
31b2b14a71 Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:38:18 +01:00
Anatol Belski
6db15b7dba Fix test 2017-11-21 21:44:09 +01:00
Anatol Belski
c029bd3342 Fix macro name 2017-11-21 20:27:17 +01:00
Anatol Belski
54e7b0a6f7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:15:30 +01:00
Anatol Belski
f6b0d365a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:11:21 +01:00
Anatol Belski
f5c0754f6e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:10:49 +01:00
Nester
8fdef981ef Fixed #75539 and #74183 - preg_last_error not returning error code after error 2017-11-21 20:10:18 +01:00
David Carlier
d006270040 seemingly a tiny typo error in pcre module. 2017-11-21 12:28:15 +01:00
Nikita Popov
26f8fc833b Enable and fix printf() format warnings
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
2017-11-16 21:15:36 +01:00
Dmitry Stogov
73bde7bbd0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix (*NO_JIT) usage when JIT is enabled
  Refactor ASCII to wide conversion
2017-11-16 17:10:04 +03:00
Dmitry Stogov
ccc12b82da Avoid unnecessary reference-counting on strings. 2017-11-16 17:09:32 +03:00
Anatol Belski
a370a6af64 Fix (*NO_JIT) usage when JIT is enabled
If (*NO_JIT) is put into the pattern, the JIT compilation will still
succeed but produce no code. The pattern will still have to be
interpreted and is not suitable for the JIT fast path. This means,
we still need to check the pattern info after JIT compilation and only
set the flags when the JIT code was produced.
2017-11-16 14:12:05 +01:00
Anatol Belski
ce85d0f24f Add missing ifdef 2017-11-15 20:21:40 +01:00
Anatol Belski
691a5a9c4c Initialize jit global 2017-11-14 21:47:56 +01:00
Anatol Belski
91407fb82d Fix wrong return 2017-11-14 21:44:46 +01:00
Anatol Belski
13696d7aae Use already available pattern length, fix signedness warnings 2017-11-14 16:36:33 +01:00
Anatol Belski
19c56e42c5 Add skipif as this test became only valid with JIT compiled in
Without JIT, the depth limit is respected, but for JIT it's irrelevant.
2017-11-14 15:53:06 +01:00
Anatol Belski
a385993c0c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix UTF check in pcre_grep
2017-11-14 13:56:25 +01:00
Anatol Belski
0d13323915 Fix UTF check in pcre_grep
In this case it loops through different subjects without looking for sub
matches and matches are done against the same pattern. Thus, don't reset
the UTF check flag but use it to check whether JIT should be used and
otherwise let PCRE to do the job according to what was saved into the
pattern.
2017-11-14 13:49:06 +01:00
Anatol Belski
0618d7d2ee Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix uninitialized flag when JIT is disabled
2017-11-14 10:14:09 +01:00
Anatol Belski
3c241ea326 Fix uninitialized flag when JIT is disabled 2017-11-14 10:12:55 +01:00
Anatol Belski
5a6c49474e Remove unused file 2017-11-14 09:14:17 +01:00
Xinchen Hui
266f19babb Added PCRE_JIT_SUPPORT flag 2017-11-14 11:02:16 +08:00
Anatol Belski
e8ac7d8dd5 Fix calculation as sync with 48cee6d1 2017-11-14 00:01:52 +01:00
Dmitry Stogov
81dd6de3a9 Eliminated redundand code 2017-11-14 01:43:54 +03:00
Dmitry Stogov
48cee6d1e9 We don't need to calculate size of offset array, because pcre2_match_data_create() already takes size in pairs. 2017-11-14 00:49:03 +03:00
Anatol Belski
f4edd0899f Put hardcoded value into macro 2017-11-13 21:33:13 +01:00
Anatol Belski
a5bc5aed71 Patch core for PCRE2 support
RFC https://wiki.php.net/rfc/pcre2-migration
2017-11-13 19:37:38 +01:00
Dmitry Stogov
f5664a1492 PCRE cache is "thread-local" 2017-11-01 15:13:49 +03:00
Xinchen Hui
a8a17a72b0 RC manipulation cleanup 2017-11-01 10:25:10 +08:00
Dmitry Stogov
160f6d6267 single check is enough 2017-10-31 11:07:42 +03:00
Dmitry Stogov
2e83924682 Added zend_hash_add_new_mem/zend_hash_str_add_new_mem. Use them to add new elements into PCRE cache (we checked the existance before). 2017-10-31 10:43:10 +03:00
Remi Collet
7c8357929c Fixed bug #75285i Broken build when system libpcre don't have jit support
Detect JIT support in system library,
So --with-pcre-jit is only for bundled library.
2017-09-29 15:47:50 +02:00
Anatol Belski
c3a1cc382a Revert --with-pcre-valgrind by default in debug build
After quite a few people reported this option enabled to be in many cases
not handy by default, it's reverted to no by default everywhere. If enabled,
it requires Valgrind dev packages, where just a few have Valgrind itself
installed or care. Still for PCRE related work this option is a must,
though will have to be turned on by hand.

Revert "fix default args for --with-pcre-valgrind"

This reverts commit 24de0fe9f4.

Revert "Enable valgrind support for PCRE by default in debug builds"

This reverts commit 850bb998d9.
2017-09-29 12:17:38 +02:00
Anatol Belski
4f1ea03528 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Apply upstream patch for CVE-2016-1283
2017-09-28 15:45:09 +02:00
Anatol Belski
db9778dfb2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Apply upstream patch for CVE-2016-1283
2017-09-28 15:44:40 +02:00
Anatol Belski
d11fceab15 Apply upstream patch for CVE-2016-1283
Fix bug #75207, see also
https://bugzilla.redhat.com/show_bug.cgi?id=1295385
https://vcs.pcre.org/pcre?view=revision&revision=1636
2017-09-28 15:40:49 +02:00
Dmitry Stogov
ef90e37bd1 Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after first input string) 2017-08-18 14:56:28 +03:00
Anatol Belski
24de0fe9f4 fix default args for --with-pcre-valgrind 2017-07-13 20:28:10 +02:00
Anatol Belski
850bb998d9 Enable valgrind support for PCRE by default in debug builds
Thanks Nikita for the hint.
2017-07-13 18:38:28 +02:00
Anatol Belski
8a287c0ea0 Upgrade bundled PCRE to 8.41
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.

For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.

Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense

  - configure --with-pcre-valgrind
  - valgrind option --smc-check=all if run-tests.php is not used

The checks so far reveal no new issues.
2017-07-11 17:01:59 +02:00
Dmitry Stogov
29653da385 Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()). 2017-07-07 09:54:21 +03:00
Stanislav Malyshev
d75dbb0e31 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improve fix for #74145
  Fix wddx
  Fix tests
  Fixed bug #74111
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #74087
  Fixed parsing of strange formats with mixed month/day and time strings
  Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV
  Fixed bug #74111
  Fix #74435: Buffer over-read into uninitialized memory
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #73807
2017-07-04 21:23:16 -07:00
Stanislav Malyshev
0ba04f7737 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Improve fix for #74145
  Fix wddx
  Fix tests
  Fixed bug #74111
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #74087
  Fixed parsing of strange formats with mixed month/day and time strings
  Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV
  Fixed bug #74111
  Fix #74435: Buffer over-read into uninitialized memory
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #73807
2017-07-04 21:18:10 -07:00
Stanislav Malyshev
0496f5407f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS
  Fix bug #74087
  Fixed parsing of strange formats with mixed month/day and time strings
  Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV
  Fixed bug #74111
  Fix #74435: Buffer over-read into uninitialized memory
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #73807
2017-07-04 19:44:51 -07:00
Stanislav Malyshev
f7f4fd4706 Fix bug #74087
Ported from https://vcs.pcre.org/pcre/code/trunk/pcre_jit_compile.c?r1=1676&r2=1680&view=patch
2017-07-04 19:21:28 -07:00
Dmitry Stogov
f626a783b6 Avoid string duplication in preg_split() 2017-06-28 00:43:55 +03:00
Tom Van Looy
04fb3f28ff Remove superfluous semicolons 2017-06-26 00:23:25 +02:00
Nikita Popov
035a27cbc6 Only compute callback name in error cases
Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.
2017-06-25 18:45:59 +02:00
Dmitry Stogov
71daef93bc preg_replace() optimization 2017-06-07 13:50:16 +03:00
Dmitry Stogov
81a6ee9aa4 Avoid string reallocations in preg_quote() 2017-06-06 13:56:19 +03:00
Dmitry Stogov
4f947e1f40 PCRE_EXTRA_MARK is useful only for preg_replace_callbakc().
Removed branch expectations.
2017-06-02 14:34:31 +03:00
Dmitry Stogov
8dc6b41011 Added support for PCRE JIT fast path API 2017-06-02 13:14:33 +03:00
Dmitry Stogov
32200e0b69 Avoid double copying 2017-05-31 02:14:17 +03:00
Dmitry Stogov
c45e3632a2 Don't allocate empty strings, use single interned string instead. 2017-05-30 10:02:04 +03:00
Remi Collet
cb28a0ab2d missing fix for test 2017-05-29 11:41:16 +02:00
Nicolas Grekas
3c43510b19 add PREG_UNMATCHED_AS_NULL flag to allow distinguish between unmatched subpatterns and empty matches 2017-05-29 11:40:29 +02:00
Dmitry Stogov
dd4a78b631 Don't separate output arguments 2017-05-23 17:18:05 +03:00
Nikita Popov
06a0340162 Deprecate each() 2017-02-03 21:02:52 +01:00
Nikita Popov
eaeecc523b Deprecate create_function() 2017-02-03 18:52:57 +01:00
Anatol Belski
f7bb3b5cbd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Revert "Test request47456.phpt for PR 1303" on PHP-7.0 and PHP-7.1
2017-01-07 02:05:37 +01:00
Mitch Hagstrand
4568618030 Revert "Test request47456.phpt for PR 1303" on PHP-7.0 and PHP-7.1
This reverts commit e55e93a1e3.
This change should only apply to master. Not PHP-7.0 or PHP-7.1
2017-01-07 02:04:03 +01:00
Joe Watkins
c50f61b9b0
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Test request47456.phpt for PR 1303
2017-01-06 16:22:58 +00:00
Mitch Hagstrand
e55e93a1e3
Test request47456.phpt for PR 1303
After merging PR 1303 unmatched subpatterns are set to NULL
2017-01-06 16:22:11 +00:00
Christoph M. Becker
cba33121f2 Fix test case
Unmatched subpatterns are reported as NULL as of commit ee6aaee8, so we
adjust the test accordingly.
2017-01-06 11:50:30 +01:00
Joe Watkins
ee6aaee83a
Merge branch 'pull-request/1303'
* pull-request/1303:
  Distinguish between unmatched subpatterns and empty matches in preg_*()
  news entry for PR #1303
2017-01-06 05:48:31 +00:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Christoph M. Becker
1b7e014d1c Merge branch 'PHP-7.1' 2016-11-26 16:11:08 +01:00
Christoph M. Becker
09085ac02c Merge branch 'PHP-7.0' into PHP-7.1 2016-11-26 16:09:45 +01:00
Christoph M. Becker
003727d851 Fix #73612: preg_*() may leak memory
We have to make sure that collectible zvals end up in the GC root
buffer, to avoid memory leaks.
2016-11-26 15:34:27 +01:00
Nikita Popov
45f7b2bcc8 Fix CRLF line-endings in tests
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Pedro Magalhães
9c5af4e4cb Remove the b prefix from literals on unrelated tests 2016-11-20 21:11:53 +01:00
Xinchen Hui
6ee8581a0e Removed not used field 2016-11-20 15:52:52 +08:00
Xinchen Hui
0f5d03025f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #73483 (Segmentation fault on pcre_replace_callback)
  Fix #73219 (fix acinclude when / is present)
  make it possible to show specific help pages without interactive session

Conflicts:
	acinclude.m4
2016-11-20 15:46:53 +08:00
Xinchen Hui
ebfd93f725 Fixed bug #73483 (Segmentation fault on pcre_replace_callback) 2016-11-20 15:44:27 +08:00
Xinchen Hui
6b671ca3ed Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Skip if no jit is built
2016-10-29 14:23:47 +08:00
Xinchen Hui
66caa61188 Skip if no jit is built 2016-10-29 14:23:25 +08:00
Xinchen Hui
7778bdcd04 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #73392 (A use-after-free in zend allocator management)
2016-10-28 21:21:35 +08:00
Xinchen Hui
e5aa365147 Fixed bug #73392 (A use-after-free in zend allocator management) 2016-10-28 21:21:24 +08:00
Nikita Popov
b1fc1fb937 Normalize preg_replace_callback() return value
One particular error case was returning the argument without
casting to string.
2016-10-15 23:58:26 +02:00
Anatol Belski
dd604015be rename publicly exposed symbol to avoid name conflicts
(cherry picked from commit 730288ae41)
2016-10-14 02:08:14 +02:00
Stanislav Malyshev
0362d61ab7 Fix potential overflows in php_pcre_replace_impl
(cherry picked from commit 9c50ba42d6)
2016-10-14 01:57:55 +02:00
Anatol Belski
730288ae41 rename publicly exposed symbol to avoid name conflicts 2016-10-13 15:23:50 +02:00
Stanislav Malyshev
9c50ba42d6 Fix potential overflows in php_pcre_replace_impl 2016-10-12 23:07:47 -07:00
Stanislav Malyshev
29e2a204fb Fixed bug #73174 - heap overflow in php_pcre_replace_impl 2016-09-28 22:29:59 -07:00
Anatol Belski
f7e5481a10 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73121 Bundled PCRE doesn't compile because JIT isn't supported on s390
2016-09-23 01:55:17 +02:00
Anatol Belski
54d8053ac5 Fix bug #73121 Bundled PCRE doesn't compile because JIT isn't supported on s390 2016-09-23 01:52:42 +02:00
Stanislav Malyshev
19866fb76c Fix various int size overflows.
Add function for detection of string zvals with length that does not fit
INT_MAX.
2016-09-12 21:04:23 -07:00
Andrea Faulds
fc5497cb92 Merge branch 'PHP-7.0' into PHP-7.1 2016-09-11 22:46:20 +01:00
Andrea Faulds
d690014bf3 Remove zpp fallback code (always use Fast ZPP)
Squashed commit of the following:

commit 3e27fbb3d2
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Sep 11 19:14:37 2016 +0100

    Keep dummy FAST_ZPP macro for compatibility

commit 8a7cfd00de
Author: Andrea Faulds <ajf@ajf.me>
Date:   Mon Sep 5 22:36:03 2016 +0100

    Remove FAST_ZPP macro and plain zpp fallback code
2016-09-11 22:44:46 +01:00
Christoph M. Becker
68d3501381 Merge branch 'pull-request/2115' into PHP-7.1 2016-09-06 14:14:23 +02:00
Stanislav Malyshev
9650b8e241 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:39:01 -07:00
Stanislav Malyshev
92db92c620 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:38:57 -07:00
Christoph M. Becker
39423e425d Implement #47456: Missing PCRE option 'J'
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>
2016-09-05 00:30:48 -07:00
Christoph M. Becker
727b422ad9 Fix #72948: Uncatchable "Catchable" fatal error for class to string conversions
E_RECOVERABLE errors are reported as "Catchable fatal error". This is
misleading, because they actually can't be caught via try-catch statements.
Therefore we change the wording to "Recoverable fatal error" as suggested by
Nikita.
2016-09-03 13:05:37 +02:00
Anatol Belski
a747578497 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix possible memory leak
2016-08-29 15:29:52 +02:00
Anatol Belski
1d7ec685c1 fix possible memory leak 2016-08-29 15:28:09 +02:00
Anatol Belski
db9baae4fb Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
  Revert "upgraded to PCRE 8.39"
2016-07-31 15:00:18 +02:00
Anatol Belski
5f9df47ea8 Revert "upgraded to PCRE 8.39"
This reverts commit 2fba646837.

PCRE-8.39 throws weird valgrind backtraces on some systems, see
http://news.php.net/php.cvs/93494 . Those could be false positives
due to some changes in JIT, still i couldn't 100% ensure this.
Thus, better we continue to ship 8.38 bundled for now, and apply
patches, if needed.
2016-07-31 14:55:17 +02:00
Christoph M. Becker
15f94e93e7 Merge branch 'PHP-7.0' into PHP-7.1 2016-07-27 19:06:36 +02:00
Christoph M. Becker
40afd77826 Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
#	ext/pcre/php_pcre.c
2016-07-27 19:00:38 +02:00
Christoph M. Becker
315c0536c2 Fix #72688: preg_match missing group names in matches
We have to multiply with 0x100 to properly scale the high byte.
2016-07-27 18:50:52 +02:00
Anatol Belski
2fba646837 upgraded to PCRE 8.39
(cherry picked from commit 9d4fe9672a)
2016-07-26 15:07:04 +02:00
Matteo Beccati
e2e72e1f5c Merge branch 'PHP-7.0'
* PHP-7.0:
  Rewrite test to avoid sending emails
2016-07-06 07:10:10 +02:00
Matteo Beccati
ff7c981d19 Rewrite test to avoid sending emails
A properly configured email server was generating bounce emails when running
the test.
2016-07-06 07:08:43 +02:00
Anatol Belski
4ac29543d6 Merge branch 'PHP-7.0'
* PHP-7.0:
  yet another test rewrite
2016-06-23 09:42:50 +02:00
Anatol Belski
056c2ce349 yet another test rewrite 2016-06-23 09:42:17 +02:00
Xinchen Hui
dad500ef6a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72476 (Memleak in jit_stack)
2016-06-23 14:07:08 +08:00
Xinchen Hui
bd74e7d013 Fixed bug #72476 (Memleak in jit_stack) 2016-06-23 14:06:48 +08:00
Anatol Belski
0b0758cc31 Merge branch 'PHP-7.0'
* PHP-7.0:
  rewrite test
2016-06-22 19:47:59 +02:00
Anatol Belski
4edbac6ec5 rewrite test 2016-06-22 19:46:02 +02:00
Anatol Belski
d20372cf6c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72463 mail fails with invalid argument
2016-06-22 19:10:57 +02:00
Anatol Belski
e453904251 Fixed bug #72463 mail fails with invalid argument 2016-06-22 19:06:33 +02:00
Anatol Belski
9d4fe9672a upgraded to PCRE 8.39 2016-06-19 20:38:31 +02:00
Xinchen Hui
0b3a4c6101 Revert "Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)""
obviously I read the change is in argument lists by mistake :<

This reverts commit 9e7afa7514.
2016-05-16 06:22:13 -07:00
Xinchen Hui
9e7afa7514 Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)"
ABI break

This reverts commit fb951553be.
2016-05-16 11:24:16 +08:00
Joe Watkins
90f46f2c5b fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs) 2016-05-14 08:21:32 +01:00
Joe Watkins
fb951553be fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs) 2016-05-14 08:20:41 +01:00
Dmitry Stogov
37f7c71f3e Simplified condition 2016-04-29 12:33:54 +03:00
Anatol Belski
241ba9dcb1 if there's no JIT support, no RINIT is really needed 2016-03-22 21:42:21 +01:00
Anatol Belski
e988239634 decrease the default PCRE JIT stack to 64K 2016-03-21 18:59:39 +01:00
Anatol Belski
e23a41225f Increase PCRE JIT stack size
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.
2016-03-21 17:31:26 +01:00
Nikita Popov
5a6da79fd0 Fix bug #71659 2016-03-09 23:00:53 +01:00
James Titcumb
c4b188871e Fix bug #71575 removing extra semicolons outside macros 2016-03-03 16:41:03 +01:00
Xinchen Hui
0490d4a404 Happy Year of Monkey (Forgot test of #71537) 2016-02-08 10:22:16 +08:00
Xinchen Hui
336e39f2b1 Fixed bug #71537 (PCRE segfault from Opcache) 2016-02-07 23:19:24 +08:00
Stanislav Malyshev
916c1fb3af Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)

Conflicts:
	ext/pcre/pcrelib/config.h
2016-01-31 21:39:24 -08:00
Stanislav Malyshev
00788f9cfb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)
2016-01-31 21:06:31 -08:00
Stanislav Malyshev
ca02d9c2d6 Upgrade bundled PCRE to 8.38 2016-01-31 20:37:47 -08:00
Lior Kaplan
ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Xinchen Hui
817513af4e Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set) 2015-12-21 18:10:48 +08:00
Anatol Belski
c0ca731d7a add comment to test 2015-10-07 09:43:28 +02:00
Dmitry Stogov
560e4fa393 Removed or simplified incorrect SEPARATE_*() macros usage. 2015-09-29 11:17:43 +03:00
Stanislav Malyshev
9b1a224d4e Merge branch 'PHP-5.6'
* 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
2015-09-02 00:37:20 -07:00
Stanislav Malyshev
a6c063d663 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  More fixes for bug #70219
2015-09-01 12:51:48 -07:00
Stanislav Malyshev
c19d59c550 Merge branch 'PHP-5.5' into PHP-5.6
* 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
2015-09-01 12:06:41 -07:00
Stanislav Malyshev
33d3acaae7 Merge branch 'PHP-5.4' into PHP-5.5
* 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
2015-09-01 11:42:19 -07:00
Stanislav Malyshev
6935058a98 Merge branch 'PHP-5.4.45' into PHP-5.5.29
* 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
2015-09-01 00:28:39 -07:00
Stanislav Malyshev
03964892c0 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) 2015-08-28 22:52:50 -07:00
Anatol Belski
1553ce2093 add some range checks to pcre 2015-08-26 16:39:53 +02:00
Christoph M. Becker
1ec40e84d4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70232: Incorrect bump-along behavior with \K and empty string match

Resolved conflicts:
	ext/pcre/php_pcre.c
2015-08-13 14:28:16 +02:00
Christoph M. Becker
b9f23c2152 Fix #70232: Incorrect bump-along behavior with \K and empty string match
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.
2015-08-13 14:20:04 +02:00
Christoph M. Becker
5be8872f44 allow to skip slow tests 2015-07-26 17:33:09 +02:00
Christoph M. Becker
6855e2f08b Merge branch 'pull-request/1439'
* pull-request/1439:
  fixed broken test
  add new error constant PREG_JIT_STACKLIMIT_ERROR
2015-07-29 18:21:46 +02:00
Anatol Belski
0787cd60ed first stone on using the unified globals accessor 2015-07-29 10:36:30 +02:00
Christoph M. Becker
e6f55339cc add new error constant PREG_JIT_STACKLIMIT_ERROR 2015-07-26 23:40:38 +02:00
Christoph M. Becker
d73287be18 Merge branch 'PHP-5.6'
* PHP-5.6:
  allow to skip slow tests
2015-07-26 17:35:23 +02:00
Dmitry Stogov
4a2e40bb86 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 04:05:24 +03:00
Dmitry Stogov
4bd22cf1c1 Improved zend_string API (Francois Laupretre)
Squashed commit of the following:

commit d96eab8d79
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 b352643910
Author: Francois Laupretre <francois@tekwire.net>
Date:   Thu Jun 25 13:45:06 2015 +0200

    Improve zend_string API

    Add missing methods
2015-06-29 16:44:54 +03:00
Christoph M. Becker
ca049e0ae9 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
2015-06-23 19:41:02 +02:00
Christoph M. Becker
e1561c490e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
2015-06-23 19:32:57 +02:00
Christoph M. Becker
23e25f3319 Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the 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.
2015-06-23 19:28:09 +02:00
Christoph M. Becker
ec8731c46b Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69864 (Segfault in preg_replace_callback)
2015-06-23 16:50:52 +02:00
Christoph M. Becker
bc47f10a97 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed bug #69864 (Segfault in preg_replace_callback)
2015-06-23 16:36:35 +02:00
Christoph M. Becker
a39beaa251 Fixed bug #69864 (Segfault in preg_replace_callback)
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.
2015-06-23 13:00:17 +02:00
Xinchen Hui
05c24d5dfa Fixed Bug #69883 (Compilation failed on PCRE) 2015-06-19 20:33:14 +08:00
Xinchen Hui
327e3b338c Micro optimizations for pcre 2015-06-19 09:56:42 +08:00
Lior Kaplan
7a02d138a6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:36:46 +03:00
Lior Kaplan
3930e1f2fa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:35:54 +03:00
Lior Kaplan
ca33ae3eb2 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:34:53 +03:00
Lior Kaplan
cc7194dd10 Fixed bug #69689 (Align PCRE_MINOR with current version) 2015-06-18 17:30:21 +03:00
Dmitry Stogov
8c8ad8f40e Use better hash functions (reuse key and avoid hash value recalculation) 2015-06-17 12:06:33 +03:00
Stanislav Malyshev
66153ba153 Merge branch 'PHP-5.6'
* PHP-5.6:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next
2015-05-30 21:19:05 -07:00
Stanislav Malyshev
60c925fd41 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next
2015-05-30 21:18:50 -07:00
Stanislav Malyshev
930fb8b1f3 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next

Conflicts:
	configure.in
	main/php_version.h
2015-05-30 21:18:28 -07:00
Stanislav Malyshev
f38ca75a3c Update PCRE version (bug #69689) 2015-05-30 21:17:16 -07:00
Christoph M. Becker
5ca664abbf added test to clearly show distinction between unset (aka unmatched) subpattern and an empty match 2015-05-23 20:34:06 +02:00
Christoph M. Becker
303b3655e6 adjusted other tests to cater to changed behavior 2015-05-23 19:47:47 +02:00
Christoph M. Becker
6f33594978 changed preg_*() to yield NULL instead of '' for unset substrings 2015-05-23 19:44:42 +02:00
Christoph M. Becker
911366eb5f added failing tests for bug #61780 2015-05-23 19:28:14 +02:00
olshevskiy87
8bdec7a248 fix typos
Signed-off-by: olshevskiy87 <olshevskiy87@bk.ru>
2015-05-13 22:28:35 +04:00
Stanislav Malyshev
98fe9405e2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Upgrade to PCRE 8.37 due to various bugfixes

Conflicts:
	ext/pcre/config.w32
	ext/pcre/config0.m4
	ext/pcre/pcrelib/pcre_jit_compile.c
	ext/pcre/pcrelib/sljit/sljitConfig.h
	ext/pcre/pcrelib/sljit/sljitConfigInternal.h
	ext/pcre/pcrelib/sljit/sljitLir.c
	ext/pcre/pcrelib/sljit/sljitLir.h
	ext/pcre/pcrelib/sljit/sljitNativeARM_32.c
	ext/pcre/pcrelib/sljit/sljitNativeARM_64.c
	ext/pcre/pcrelib/sljit/sljitNativeARM_T2_32.c
	ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
	ext/pcre/pcrelib/sljit/sljitNativePPC_common.c
	ext/pcre/pcrelib/sljit/sljitNativeSPARC_common.c
	ext/pcre/pcrelib/sljit/sljitNativeTILEGX_64.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_32.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_64.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_common.c
	ext/pcre/pcrelib/sljit/sljitUtils.c
2015-04-29 22:34:54 -07:00
Stanislav Malyshev
428d0983cd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade to PCRE 8.37 due to various bugfixes
2015-04-29 22:28:04 -07:00
Stanislav Malyshev
ce6db558f9 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Upgrade to PCRE 8.37 due to various bugfixes
2015-04-29 22:27:21 -07:00
Stanislav Malyshev
95fa727992 Upgrade to PCRE 8.37 due to various bugfixes 2015-04-29 22:27:07 -07:00
Anatol Belski
7ccafe40c2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix VC9 build with PCRE
  Revert "Fix segfault in ext/date since 957aa2"
2015-04-28 14:38:45 +02:00
Anatol Belski
768bbedf82 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix VC9 build with PCRE
2015-04-28 14:38:21 +02:00
Anatol Belski
9c5c3ff022 fix VC9 build with PCRE 2015-04-28 13:15:39 +02:00
Stanislav Malyshev
c34aba472c Merge branch 'PHP-5.6'
* PHP-5.6:
  Upgrade PCRE to 8.36, it fixes some crashes

Conflicts:
	ext/pcre/pcrelib/config.h
	ext/pcre/pcrelib/pcre_ucd.c
2015-04-27 23:41:18 -07:00
Stanislav Malyshev
19ad1389aa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade PCRE to 8.36, it fixes some crashes
2015-04-27 23:30:57 -07:00
Stanislav Malyshev
13c32a102c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Upgrade PCRE to 8.36, it fixes some crashes
2015-04-27 23:25:32 -07:00
Stanislav Malyshev
23917b451b Upgrade PCRE to 8.36, it fixes some crashes
We probably will need to go to 8.37 once it is released.
2015-04-27 23:16:54 -07:00
Xinchen Hui
38d79e9449 Drop unused num index 2015-04-28 11:26:58 +08:00
Dmitry Stogov
770cb1da71 Keep realpath and PCRE caches in consistency with opcache SHM. 2015-04-22 02:29:06 +03:00
Dmitry Stogov
e44ccde39a "C" is the default locale 2015-04-16 21:44:50 +03:00
Lior Kaplan
3b8b1435ad Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix typo: unitialized -> uninitialized
  Fix typo: unitialized -> uninitialized

Conflicts:
	ext/xmlwriter/php_xmlwriter.c
2015-04-01 18:30:55 +03:00
Lior Kaplan
2fd74c7f03 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix typo: unitialized -> uninitialized
2015-04-01 18:20:26 +03:00
Lior Kaplan
59c2a55ec7 Fix typo: unitialized -> uninitialized 2015-04-01 18:17:53 +03:00
Andrea Faulds
db76b708cf Deprecate PHP 4 constructors 2015-03-31 17:55:27 +02:00
Anatol Belski
19360f386e cleanup mod version macros, round 3 2015-03-23 20:54:55 +01:00
Xinchen Hui
784c60ab6d Improve test scripts 2015-03-21 21:11:14 +08:00
Xinchen Hui
a4529cc0e5 Fixed memleak 2015-03-21 20:17:04 +08:00
Xinchen Hui
4180226117 More error conditions 2015-03-21 16:54:45 +08:00
Xinchen Hui
2f6dbfc26b Improved impelmentation(and cleanup behaviro with errors conditions) 2015-03-21 15:56:42 +08:00
Xinchen Hui
c524dd6d1e Merge branch 'rfc-preg-replace-callback-array' of https://github.com/zxcvdavid/php-src
Conflicts:
	Zend/zend_vm_gen.php
	ext/pcre/php_pcre.c
2015-03-21 14:01:11 +08:00
Anatol Belski
a43a9c9137 use correct api 2015-03-20 17:11:36 +01:00
Dmitry Stogov
d146d15003 Optimize zend_string_realloc() add more specialized versions zend_string_extend() and zend_string_truncate() 2015-03-20 02:02:42 +03:00
Wei Dai
25566c67fe Implement preg_replace_callback_array function 2015-03-13 11:52:36 +08:00
Dmitry Stogov
8633685675 Use specialized macro for string zval creation 2015-03-12 16:53:51 +03:00
Reeze Xia
609f05fc19 ZTS cleanup 2015-03-08 19:25:55 +08:00
Anatol Belski
30830bcefd Fixed bug #69115 crash in mail
There were two issues

- php_pcre_replace could be used directly and sbject_str could be NULL
- the Windows sendmail variant was freeing something passed from the outside
2015-02-27 10:42:20 +01:00
Dmitry Stogov
4241a090ad Avoid reallocation in preg_replace() if nothing was replaced 2015-02-10 13:30:25 +03:00
Anatol Belski
be718e45b0 added PCRE JIT availability info to phpinfo()
and a test to ensure it's enabled
2015-02-07 11:04:53 +01:00
Dmitry Stogov
da5439b9c8 Re-enable PCRE JIT disabled by b436c714c6 2015-02-06 14:02:15 +03:00
Arjen Schol
b436c714c6 Upgrade pcre to 8.36 2015-02-04 14:08:41 +01:00
Nikita Popov
cb9c99ebd0 Remove preg_replace /e modifier 2015-01-26 21:00:23 +01:00
Xinchen Hui
020610ee40 Remove addslashes_str 2015-01-20 10:11:48 +08:00
Xinchen Hui
da7d8f45b2 Optimized php_addslashes 2015-01-19 10:46:39 -05:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00