diff --git a/ext/opcache/tests/bug78189.phpt b/ext/opcache/tests/bug78189.phpt new file mode 100644 index 00000000000..49891c8d63b --- /dev/null +++ b/ext/opcache/tests/bug78189.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #78189 (file cache strips last character of uname hash) +--SKIPIF-- + +--INI-- +opcache.enable_cli=1 +opcache.optimization_level=-1 +opcache.file_cache={TMP} +opcache.file_cache_only=1 +--FILE-- + +--EXPECT-- +int(1) diff --git a/ext/opcache/zend_file_cache.c b/ext/opcache/zend_file_cache.c index c98b937418e..0e4d7748c91 100644 --- a/ext/opcache/zend_file_cache.c +++ b/ext/opcache/zend_file_cache.c @@ -856,7 +856,7 @@ static char *zend_file_cache_get_bin_file_path(zend_string *script_path) memcpy(filename, ZCG(accel_directives).file_cache, len); filename[len] = '\\'; memcpy(filename + 1 + len, md5uname, 32); - len += 32; + len += 1 + 32; filename[len] = '\\'; memcpy(filename + len + 1, accel_system_id, 32);