mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file)
This commit is contained in:
commit
a879f4dd22
1 changed files with 9 additions and 8 deletions
|
@ -1253,6 +1253,13 @@ static void zend_accel_add_key(char *key, unsigned int key_length, zend_accel_ha
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static zend_always_inline zend_bool is_phar_file(zend_string *filename)
|
||||||
|
{
|
||||||
|
return filename && ZSTR_LEN(filename) >= sizeof(".phar") &&
|
||||||
|
!memcmp(ZSTR_VAL(filename) + ZSTR_LEN(filename) - (sizeof(".phar")-1), ".phar", sizeof(".phar")-1) &&
|
||||||
|
!strstr(ZSTR_VAL(filename), "://");
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_OPCACHE_FILE_CACHE
|
#ifdef HAVE_OPCACHE_FILE_CACHE
|
||||||
static zend_persistent_script *store_script_in_file_cache(zend_persistent_script *new_persistent_script)
|
static zend_persistent_script *store_script_in_file_cache(zend_persistent_script *new_persistent_script)
|
||||||
{
|
{
|
||||||
|
@ -1277,10 +1284,7 @@ static zend_persistent_script *store_script_in_file_cache(zend_persistent_script
|
||||||
|
|
||||||
zend_shared_alloc_destroy_xlat_table();
|
zend_shared_alloc_destroy_xlat_table();
|
||||||
|
|
||||||
new_persistent_script->is_phar =
|
new_persistent_script->is_phar = is_phar_file(new_persistent_script->script.filename);
|
||||||
new_persistent_script->script.filename &&
|
|
||||||
strstr(ZSTR_VAL(new_persistent_script->script.filename), ".phar") &&
|
|
||||||
!strstr(ZSTR_VAL(new_persistent_script->script.filename), "://");
|
|
||||||
|
|
||||||
/* Consistency check */
|
/* Consistency check */
|
||||||
if ((char*)new_persistent_script->mem + new_persistent_script->size != (char*)ZCG(mem)) {
|
if ((char*)new_persistent_script->mem + new_persistent_script->size != (char*)ZCG(mem)) {
|
||||||
|
@ -1402,10 +1406,7 @@ static zend_persistent_script *cache_script_in_shared_memory(zend_persistent_scr
|
||||||
|
|
||||||
zend_shared_alloc_destroy_xlat_table();
|
zend_shared_alloc_destroy_xlat_table();
|
||||||
|
|
||||||
new_persistent_script->is_phar =
|
new_persistent_script->is_phar = is_phar_file(new_persistent_script->script.filename);
|
||||||
new_persistent_script->script.filename &&
|
|
||||||
strstr(ZSTR_VAL(new_persistent_script->script.filename), ".phar") &&
|
|
||||||
!strstr(ZSTR_VAL(new_persistent_script->script.filename), "://");
|
|
||||||
|
|
||||||
/* Consistency check */
|
/* Consistency check */
|
||||||
if ((char*)new_persistent_script->mem + new_persistent_script->size != (char*)ZCG(mem)) {
|
if ((char*)new_persistent_script->mem + new_persistent_script->size != (char*)ZCG(mem)) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue