diff options
author | Fabien Potencier <fabien.potencier@gmail.com> | 2013-09-06 15:29:34 +0200 |
---|---|---|
committer | Fabien Potencier <fabien.potencier@gmail.com> | 2013-09-06 15:53:58 +0200 |
commit | 97bcb8a6101547accf394f5aa4d6c34af9eda7f3 (patch) | |
tree | 72f3de70c26515b6f785e63c32b247b835576101 /Http | |
parent | 564be0f954e0aa17bd2f51f408380e1940de5cfc (diff) | |
download | symfony-security-97bcb8a6101547accf394f5aa4d6c34af9eda7f3.zip symfony-security-97bcb8a6101547accf394f5aa4d6c34af9eda7f3.tar.gz symfony-security-97bcb8a6101547accf394f5aa4d6c34af9eda7f3.tar.bz2 |
[Security] fixed a leak in the ContextListener
Diffstat (limited to 'Http')
-rw-r--r-- | Http/Firewall/ContextListener.php | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Http/Firewall/ContextListener.php b/Http/Firewall/ContextListener.php index 8c71876..81ccbdc 100644 --- a/Http/Firewall/ContextListener.php +++ b/Http/Firewall/ContextListener.php @@ -38,6 +38,7 @@ class ContextListener implements ListenerInterface private $logger; private $userProviders; private $dispatcher; + private $registered; public function __construct(SecurityContextInterface $context, array $userProviders, $contextKey, LoggerInterface $logger = null, EventDispatcherInterface $dispatcher = null) { @@ -65,8 +66,9 @@ class ContextListener implements ListenerInterface */ public function handle(GetResponseEvent $event) { - if (null !== $this->dispatcher && HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) { + if (!$this->registered && null !== $this->dispatcher && HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) { $this->dispatcher->addListener(KernelEvents::RESPONSE, array($this, 'onKernelResponse')); + $this->registered = true; } $request = $event->getRequest(); |