Преглед изворни кода

Make sure we get a temporary dir which is unique

Jordi Boggiano пре 5 година
родитељ
комит
918768fc54
1 измењених фајлова са 4 додато и 1 уклоњено
  1. 4 1
      src/Composer/Downloader/ArchiveDownloader.php

+ 4 - 1
src/Composer/Downloader/ArchiveDownloader.php

@@ -43,7 +43,10 @@ abstract class ArchiveDownloader extends FileDownloader
             throw new \RuntimeException('Expected empty path to extract '.$package.' into but directory exists: '.$path);
         }
 
-        $temporaryDir = $this->config->get('vendor-dir').'/composer/'.substr(md5(uniqid('', true)), 0, 8);
+        do {
+            $temporaryDir = $this->config->get('vendor-dir').'/composer/'.substr(md5(uniqid('', true)), 0, 8);
+        } while (is_dir($temporaryDir));
+
         $fileName = $this->getFileName($package, $path);
 
         try {