From 53b0b819167c1243b6fa8b990127e4cd73f933ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gordon=20Br=C3=BCggemann?= <gb@gb-web.de>
Date: Thu, 3 Aug 2023 23:33:06 +0200
Subject: [PATCH] [BUGFIX] Avoid undefined array key access in `DataHandler`

Resolves: #99725
Releases: main, 12.4, 11.5
Change-Id: I4682cbe57b4908e13c219c5be4b0810c0d348bf1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80413
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
---
 .../sysext/core/Classes/DataHandling/DataHandler.php | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/typo3/sysext/core/Classes/DataHandling/DataHandler.php b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
index e424c87e6cf7..68dbc61b021d 100644
--- a/typo3/sysext/core/Classes/DataHandling/DataHandler.php
+++ b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
@@ -4056,13 +4056,15 @@ class DataHandler implements LoggerAwareInterface
                 $updateFields = [
                     $translationSourceFieldName => $newFieldValue,
                 ];
-                GeneralUtility::makeInstance(ConnectionPool::class)
-                    ->getConnectionForTable($table)
-                    ->update($table, $updateFields, ['uid' => (int)$languageSourceMap[$record['uid']]]);
-                if ($this->BE_USER->workspace > 0) {
+                if (isset($languageSourceMap[$record['uid']])) {
                     GeneralUtility::makeInstance(ConnectionPool::class)
                         ->getConnectionForTable($table)
-                        ->update($table, $updateFields, ['t3ver_oid' => (int)$languageSourceMap[$record['uid']], 't3ver_wsid' => $this->BE_USER->workspace]);
+                        ->update($table, $updateFields, ['uid' => (int)$languageSourceMap[$record['uid']]]);
+                    if ($this->BE_USER->workspace > 0) {
+                        GeneralUtility::makeInstance(ConnectionPool::class)
+                            ->getConnectionForTable($table)
+                            ->update($table, $updateFields, ['t3ver_oid' => (int)$languageSourceMap[$record['uid']], 't3ver_wsid' => $this->BE_USER->workspace]);
+                    }
                 }
             }
         }
-- 
GitLab