From: Nikita Popov Date: Tue, 20 Oct 2020 10:51:17 +0000 (+0200) Subject: Merge branch 'PHP-8.0' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0054fc942302cdbf3afb0845ab03b90261f469f;p=php Merge branch 'PHP-8.0' * PHP-8.0: Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0 --- e0054fc942302cdbf3afb0845ab03b90261f469f diff --cc ext/opcache/ZendAccelerator.c index 5ca1baf370,22b484b789..56757895bb --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@@ -2634,10 -2634,12 +2634,12 @@@ static int zend_accel_init_shm(void if (ZCG(accel_directives).interned_strings_buffer) { accel_shared_globals = zend_shared_alloc((ZCG(accel_directives).interned_strings_buffer * 1024 * 1024)); } else { - accel_shared_globals = zend_shared_alloc(sizeof(zend_accel_shared_globals)); + /* Make sure there is always at least one interned string hash slot, + * so the table can be queried unconditionally. */ + accel_shared_globals = zend_shared_alloc(sizeof(zend_accel_shared_globals) + sizeof(uint32_t)); } if (!accel_shared_globals) { - zend_accel_error(ACCEL_LOG_FATAL, "Insufficient shared memory!"); + zend_accel_error_noreturn(ACCEL_LOG_FATAL, "Insufficient shared memory!"); zend_shared_alloc_unlock(); return FAILURE; }