From ac89a5bb3b6bb99a3d1a35e338f85d43da64733a Mon Sep 17 00:00:00 2001 From: Joakim Israelsson Date: Wed, 14 May 2014 20:37:24 +0200 Subject: [PATCH] Only allow platform packages to be overridden. As defined by the PlatformRepository::PLATFORM_PACKAGE_REGEX pattern. --- src/Composer/Repository/PlatformRepository.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Composer/Repository/PlatformRepository.php b/src/Composer/Repository/PlatformRepository.php index 1ba264ec1..8d4e639c3 100644 --- a/src/Composer/Repository/PlatformRepository.php +++ b/src/Composer/Repository/PlatformRepository.php @@ -41,10 +41,16 @@ class PlatformRepository extends ArrayRepository // Add each of the override versions as options. // Later we might even replace the extensions instead. foreach( $this->overrides as $name => $prettyVersion ) { - $version = $versionParser->normalize($prettyVersion); - $package = new CompletePackage($name, $version, $prettyVersion); - $package->setDescription("Overridden virtual platform package $name."); - parent::addPackage($package); + // Check that it's a platform package. + if( preg_match(self::PLATFORM_PACKAGE_REGEX, $name) ) { + $version = $versionParser->normalize($prettyVersion); + $package = new CompletePackage($name, $version, $prettyVersion); + $package->setDescription("Overridden virtual platform package $name."); + parent::addPackage($package); + } + else { + throw new \UnexpectedValueException('Invalid platform package "'.$name); + } }