diff --git a/src/Composer/Platform/Version.php b/src/Composer/Platform/Version.php index 1ad22c3ed..6e5dba216 100644 --- a/src/Composer/Platform/Version.php +++ b/src/Composer/Platform/Version.php @@ -28,7 +28,7 @@ class Version { $isFips = false; - if (!Preg::isMatch('/^(?[0-9.]+)(?[a-z]{0,2})?(?(?:-?(?:dev|pre|alpha|beta|rc|fips)[\d]*)*)?(?-\w+)?$/', $opensslVersion, $matches)) { + if (!Preg::isMatch('/^(?[0-9.]+)(?[a-z]{0,2})?(?(?:-?(?:dev|pre|alpha|beta|rc|fips)[\d]*)*)?(?-\w+)?(? \(.+?\))?$/', $opensslVersion, $matches)) { return null; } diff --git a/tests/Composer/Test/Platform/VersionTest.php b/tests/Composer/Test/Platform/VersionTest.php index 00497ef94..c6ed62ecd 100644 --- a/tests/Composer/Test/Platform/VersionTest.php +++ b/tests/Composer/Test/Platform/VersionTest.php @@ -62,6 +62,7 @@ class VersionTest extends TestCase // Additional cases array('1.2.3zh-fips-rc3', '1.2.3.34-rc3', true, '1.2.3.34-RC3'), array('1.2.3zh-alpha10-fips', '1.2.3.34-alpha10', true), + array('1.1.1l (Schannel)', '1.1.1.12'), // Check that alphabetical patch levels overflow correctly array('1.2.3', '1.2.3.0'), array('1.2.3a', '1.2.3.1'),