diff --git a/src/Loader/FilesystemLoader.php b/src/Loader/FilesystemLoader.php index 1912e05a1..7bcdae475 100644 --- a/src/Loader/FilesystemLoader.php +++ b/src/Loader/FilesystemLoader.php @@ -221,9 +221,9 @@ protected function findTemplate($name) } try { - $this->validateName($name); - list($namespace, $shortname) = $this->parseName($name); + + $this->validateName($shortname); } catch (LoaderError $e) { if (!$throw) { return false; diff --git a/tests/Loader/FilesystemTest.php b/tests/Loader/FilesystemTest.php index 3307a9b7e..eb6ec7e16 100644 --- a/tests/Loader/FilesystemTest.php +++ b/tests/Loader/FilesystemTest.php @@ -31,6 +31,7 @@ public function testGetSourceContext() public function testSecurity($template) { $loader = new FilesystemLoader([__DIR__.'/../Fixtures']); + $loader->addPath(__DIR__.'/../Fixtures', 'foo'); try { $loader->getCacheKey($template); @@ -62,6 +63,10 @@ public function getSecurityTests() ['filters\\\\..\\\\..\\\\AutoloaderTest.php'], ['filters\\//../\\/\\..\\AutoloaderTest.php'], ['/../AutoloaderTest.php'], + ['@__main__/../AutoloaderTest.php'], + ['@foo/../AutoloaderTest.php'], + ['@__main__/../../AutoloaderTest.php'], + ['@foo/../../AutoloaderTest.php'], ]; }