Browse Source

Stricter validation for the repositories config

Jordi Boggiano 13 years ago
parent
commit
1844940a39
1 changed files with 5 additions and 2 deletions
  1. 5 2
      src/Composer/Package/Loader/ArrayLoader.php

+ 5 - 2
src/Composer/Package/Loader/ArrayLoader.php

@@ -55,10 +55,13 @@ class ArrayLoader
 
 
         if (isset($config['repositories'])) {
         if (isset($config['repositories'])) {
             $repositories = array();
             $repositories = array();
-            foreach ($config['repositories'] as $repo) {
-                if (!$repo) {
+            foreach ($config['repositories'] as $repoName => $repo) {
+                if (false === $repo && 'packagist' === $repoName) {
                     continue;
                     continue;
                 }
                 }
+                if (!is_array($repo)) {
+                    throw new \UnexpectedValueException('Repository '.$repoName.' in '.$package->getPrettyName().' '.$package->getVersion().' should be an array, '.gettype($repo).' given');
+                }
                 $repository = $this->manager->createRepository(key($repo), current($repo));
                 $repository = $this->manager->createRepository(key($repo), current($repo));
                 $this->manager->addRepository($repository);
                 $this->manager->addRepository($repository);
             }
             }