From 61fba697a0f93aa1f29967328f51eec93263aa4c Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 30 Aug 2021 13:43:33 +0200 Subject: [PATCH] Fix validating array loader handling of invalid target branch datatype --- src/Composer/Package/Loader/ValidatingArrayLoader.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Composer/Package/Loader/ValidatingArrayLoader.php b/src/Composer/Package/Loader/ValidatingArrayLoader.php index c275fc357..62fa84943 100644 --- a/src/Composer/Package/Loader/ValidatingArrayLoader.php +++ b/src/Composer/Package/Loader/ValidatingArrayLoader.php @@ -347,6 +347,13 @@ class ValidatingArrayLoader implements LoaderInterface $this->errors[] = 'extra.branch-alias : must be an array of versions => aliases'; } else { foreach ($this->config['extra']['branch-alias'] as $sourceBranch => $targetBranch) { + if (!is_string($targetBranch)) { + $this->warnings[] = 'extra.branch-alias.'.$sourceBranch.' : the target branch ('.json_encode($targetBranch).') must be a string, "'.gettype($targetBranch).'" received.'; + unset($this->config['extra']['branch-alias'][$sourceBranch]); + + continue; + } + // ensure it is an alias to a -dev package if ('-dev' !== substr($targetBranch, -4)) { $this->warnings[] = 'extra.branch-alias.'.$sourceBranch.' : the target branch ('.$targetBranch.') must end in -dev';