Browse Source

[DepdenencyInjection] Prevent self-referencing aliases

Jordi Boggiano 14 years ago
parent
commit
98e035b963
1 changed files with 4 additions and 0 deletions
  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;