summaryrefslogtreecommitdiff
path: root/ext/pcre/pcrelib/pcre_xclass.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2015-04-27 23:22:44 -0700
committerStanislav Malyshev <stas@php.net>2015-04-27 23:25:32 -0700
commit13c32a102c7626673f41dfecba4188a6c6c6934c (patch)
tree69b9e5d3fbeb6780824c3de19d300b8a608de06c /ext/pcre/pcrelib/pcre_xclass.c
parent957aa220aa175a874f429f97701eede0f1ef14d3 (diff)
parent23917b451bf4029e78082b4e0a56bc4c6f117990 (diff)
downloadphp-git-13c32a102c7626673f41dfecba4188a6c6c6934c.tar.gz
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4: Upgrade PCRE to 8.36, it fixes some crashes
Diffstat (limited to 'ext/pcre/pcrelib/pcre_xclass.c')
-rw-r--r--ext/pcre/pcrelib/pcre_xclass.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/pcre/pcrelib/pcre_xclass.c b/ext/pcre/pcrelib/pcre_xclass.c
index ad153be785..c2b61f0f92 100644
--- a/ext/pcre/pcrelib/pcre_xclass.c
+++ b/ext/pcre/pcrelib/pcre_xclass.c
@@ -81,6 +81,11 @@ additional data. */
if (c < 256)
{
+ if ((*data & XCL_HASPROP) == 0)
+ {
+ if ((*data & XCL_MAP) == 0) return negated;
+ return (((pcre_uint8 *)(data + 1))[c/8] & (1 << (c&7))) != 0;
+ }
if ((*data & XCL_MAP) != 0 &&
(((pcre_uint8 *)(data + 1))[c/8] & (1 << (c&7))) != 0)
return !negated; /* char found */