From e9d405ff18f33da06e858c9e09c6faccf6390d9a Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 9 Mar 2021 12:08:38 +0100 Subject: [PATCH] Avoid using str_replace for dev-master replacement as that may be a valid part of a branch name, fixes #9739 --- src/Composer/Package/Version/VersionParser.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Composer/Package/Version/VersionParser.php b/src/Composer/Package/Version/VersionParser.php index 88b1873cf..e2b70b959 100644 --- a/src/Composer/Package/Version/VersionParser.php +++ b/src/Composer/Package/Version/VersionParser.php @@ -76,8 +76,12 @@ class VersionParser extends SemverVersionParser return true; } - $normalizedFrom = str_replace(array('dev-master', 'dev-trunk', 'dev-default'), VersionParser::DEFAULT_BRANCH_ALIAS, $normalizedFrom); - $normalizedTo = str_replace(array('dev-master', 'dev-trunk', 'dev-default'), VersionParser::DEFAULT_BRANCH_ALIAS, $normalizedTo); + if (in_array($normalizedFrom, array('dev-master', 'dev-trunk', 'dev-default'), true)) { + $normalizedFrom = VersionParser::DEFAULT_BRANCH_ALIAS; + } + if (in_array($normalizedTo, array('dev-master', 'dev-trunk', 'dev-default'), true)) { + $normalizedTo = VersionParser::DEFAULT_BRANCH_ALIAS; + } if (strpos($normalizedFrom, 'dev-') === 0 || strpos($normalizedTo, 'dev-') === 0) { return true;