- Affected version
- 2.2.9
If the path to the temporary directory does contain a symlink somewhere, copying files from a style archive does fail due to
As
Suggested Solution
Call
PHP:
$stdPath = File::stripRootPathPrefix($pathname, $tempDir);
if (!$this->isWithinAssetPath($stdPath, $assetPaths))
{
continue;
}
$tempDir
does not contain the realpath, calling stripRootPathPrefix
does nothing and thus isWithinAssetPath
returns false which skips the file.Suggested Solution
Call
realpath
before returing the path in \XF\Util\File::getTempDir()