From cfe718fa439ed76e7f09ce1b277dec4e9160c673 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 18 Aug 2021 14:29:49 +0200 Subject: [PATCH] Fix usage of getRequiredPackage, closes #10052 --- src/Composer/DependencyResolver/Rule.php | 3 +++ src/Composer/DependencyResolver/SolverProblemsException.php | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Composer/DependencyResolver/Rule.php b/src/Composer/DependencyResolver/Rule.php index 4eb9f7dd7..7b7c3c8f8 100644 --- a/src/Composer/DependencyResolver/Rule.php +++ b/src/Composer/DependencyResolver/Rule.php @@ -76,6 +76,9 @@ abstract class Rule return $this->reasonData; } + /** + * @return ?string + */ public function getRequiredPackage() { $reason = $this->getReason(); diff --git a/src/Composer/DependencyResolver/SolverProblemsException.php b/src/Composer/DependencyResolver/SolverProblemsException.php index c6844e25c..fecce8036 100644 --- a/src/Composer/DependencyResolver/SolverProblemsException.php +++ b/src/Composer/DependencyResolver/SolverProblemsException.php @@ -108,7 +108,8 @@ class SolverProblemsException extends \RuntimeException { foreach ($reasonSets as $reasonSet) { foreach ($reasonSet as $rule) { - if (0 === strpos($rule->getRequiredPackage(), 'ext-')) { + $required = $rule->getRequiredPackage(); + if (null !== $required && 0 === strpos($required, 'ext-')) { return true; } }