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

[DepdenencyInjection] Prevent self-referencing aliases

Jordi Boggiano пре 14 година
родитељ
комит
98e035b963
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      src/Symfony/Component/DependencyInjection/ContainerBuilder.php

+ 4 - 0
src/Symfony/Component/DependencyInjection/ContainerBuilder.php

@@ -427,6 +427,10 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
             throw new \InvalidArgumentException('$id must be a string, or an Alias object.');
         }
 
+        if ($alias === strtolower($id)) {
+            throw new \InvalidArgumentException('An alias can not reference itself, got a circular reference on "'.$alias.'".');
+        }
+
         unset($this->definitions[$alias]);
 
         $this->aliases[$alias] = $id;