Browse Source

Avoid choking on non-string constraints, fixes #5807

Jordi Boggiano 8 years ago
parent
commit
f320c67534
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/Composer/Package/Loader/ArrayLoader.php

+ 3 - 0
src/Composer/Package/Loader/ArrayLoader.php

@@ -232,6 +232,9 @@ class ArrayLoader implements LoaderInterface
     {
         $res = array();
         foreach ($links as $target => $constraint) {
+            if (!is_string($constraint)) {
+                throw new \UnexpectedValueException('Link constraint in '.$source.' '.$description.' > '.$target.' should be a string, got '.gettype($constraint) . ' (' . var_export($constraint, true) . ')');
+            }
             if ('self.version' === $constraint) {
                 $parsedConstraint = $this->versionParser->parseConstraints($sourceVersion);
             } else {