From fcbc1044e0b35c8359ff519346c1335c7b929b87 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 20 Dec 2016 17:27:24 +0100 Subject: [PATCH] Revert "Allow use of parent directories in PathDownloader when not mirroring the path" --- src/Composer/Downloader/PathDownloader.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Composer/Downloader/PathDownloader.php b/src/Composer/Downloader/PathDownloader.php index f392c0125..cde32f4a6 100644 --- a/src/Composer/Downloader/PathDownloader.php +++ b/src/Composer/Downloader/PathDownloader.php @@ -45,6 +45,13 @@ class PathDownloader extends FileDownloader implements VcsCapableDownloaderInter )); } + if (strpos(realpath($path) . DIRECTORY_SEPARATOR, $realUrl . DIRECTORY_SEPARATOR) === 0) { + throw new \RuntimeException(sprintf( + 'Package %s cannot install to "%s" inside its source at "%s"', + $package->getName(), realpath($path), $realUrl + )); + } + // Get the transport options with default values $transportOptions = $package->getTransportOptions() + array('symlink' => null); @@ -65,13 +72,6 @@ class PathDownloader extends FileDownloader implements VcsCapableDownloaderInter $allowedStrategies = array(self::STRATEGY_MIRROR); } - if ($currentStrategy != self::STRATEGY_MIRROR && strpos(realpath($path) . DIRECTORY_SEPARATOR, $realUrl . DIRECTORY_SEPARATOR) === 0) { - throw new \RuntimeException(sprintf( - 'Package %s cannot install to "%s" inside its source at "%s"', - $package->getName(), realpath($path), $realUrl - )); - } - $fileSystem = new Filesystem(); $this->filesystem->removeDirectory($path);