From bf5ba69d9bf57d6de740872731c9011391bfd9fb Mon Sep 17 00:00:00 2001
From: catch <6915-catch@users.noreply.drupalcode.org>
Date: Fri, 19 Jul 2024 23:34:47 +0900
Subject: [PATCH] Issue #3461421 by VinmayiSwamy, ankitv18, joachim,
 smustgrave: getProcessPlugins() normalises the process array twice

(cherry picked from commit b12eb2b2599e5844941b901927d77d966dab4aa3)
---
 core/modules/migrate/src/Plugin/Migration.php | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/core/modules/migrate/src/Plugin/Migration.php b/core/modules/migrate/src/Plugin/Migration.php
index 1343d1d5723c..a03ce579e3d8 100644
--- a/core/modules/migrate/src/Plugin/Migration.php
+++ b/core/modules/migrate/src/Plugin/Migration.php
@@ -384,13 +384,12 @@ public function getSourcePlugin() {
    * {@inheritdoc}
    */
   public function getProcessPlugins(?array $process = NULL) {
-    if (!isset($process)) {
-      $process = $this->getProcess();
-    }
+    $process = isset($process) ? $this->getProcessNormalized($process) : $this->getProcess();
     $index = serialize($process);
     if (!isset($this->processPlugins[$index])) {
       $this->processPlugins[$index] = [];
-      foreach ($this->getProcessNormalized($process) as $property => $configurations) {
+
+      foreach ($process as $property => $configurations) {
         $this->processPlugins[$index][$property] = [];
         foreach ($configurations as $configuration) {
           if (isset($configuration['source'])) {
-- 
GitLab