diff options
author | Lior Kaplan <kaplanlior@gmail.com> | 2015-04-01 01:54:53 +0300 |
---|---|---|
committer | Lior Kaplan <kaplanlior@gmail.com> | 2015-04-01 01:54:53 +0300 |
commit | c22543b3f3ccdf7eb53af3c4d1459ae2dc9bc54e (patch) | |
tree | 872a7aa43e99eba992a027de9c001a7b8f34f338 | |
parent | 2d3868984cc0c43dd66f5aa0d2e56a92821300a6 (diff) | |
parent | a32c8ba719493fd2b4700c4f7db1ef130ceb7661 (diff) | |
download | php-git-c22543b3f3ccdf7eb53af3c4d1459ae2dc9bc54e.tar.gz |
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
Fixed bug #68739 (Missing break / control flow in curl)
Fixed bug #68740 (NULL Pointer Dereference)
Fixed bug #68677 (Use After Free in OPcache)
-rw-r--r-- | ext/curl/interface.c | 1 | ||||
-rw-r--r-- | ext/ereg/regex/regcomp.c | 4 | ||||
-rw-r--r-- | ext/opcache/zend_shared_alloc.c | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 45b6bb0365..a7b68dfe17 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2847,6 +2847,7 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue TSRMLS_DC) curl_easy_setopt(ch->cp, CURLOPT_SHARE, sh->share); } } + break; #if LIBCURL_VERSION_NUM >= 0x071500 /* Available since 7.21.0 */ case CURLOPT_FNMATCH_FUNCTION: diff --git a/ext/ereg/regex/regcomp.c b/ext/ereg/regex/regcomp.c index f4bfc1c167..c2223d7dbe 100644 --- a/ext/ereg/regex/regcomp.c +++ b/ext/ereg/regex/regcomp.c @@ -1284,6 +1284,10 @@ int c; register int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT; register unsigned uc = (unsigned char)c; + if (!g->setbits) { + return(0); + } + for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize) if (col[uc] != 0) return(1); diff --git a/ext/opcache/zend_shared_alloc.c b/ext/opcache/zend_shared_alloc.c index bbe26e8172..8880b8817f 100644 --- a/ext/opcache/zend_shared_alloc.c +++ b/ext/opcache/zend_shared_alloc.c @@ -346,10 +346,10 @@ void *_zend_shared_memdup(void *source, size_t size, zend_bool free_source TSRML retval = ZCG(mem);; ZCG(mem) = (void*)(((char*)ZCG(mem)) + ZEND_ALIGNED_SIZE(size)); memcpy(retval, source, size); + zend_shared_alloc_register_xlat_entry(source, retval); if (free_source) { interned_efree((char*)source); } - zend_shared_alloc_register_xlat_entry(source, retval); return retval; } |