From 08cd87c0bad401c09cfe9785059a4efc1d1c2237 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech>
Date: Sat, 9 Oct 2021 17:42:06 +0200
Subject: [PATCH] [BUGFIX] Fix undefined index and offset warning in lowlevel
 QueryGenerator

This patch fixes undefined index/offset warnings in ext:lowlevel
QueryGenerator using null coalescing operator.

Resolves: #95551
Releases: master
Change-Id: I26fd0bd77bdc086916a57460680b06de689134db
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71521
Tested-by: core-ci <typo3@b13.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
---
 typo3/sysext/lowlevel/Classes/Database/QueryGenerator.php | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/typo3/sysext/lowlevel/Classes/Database/QueryGenerator.php b/typo3/sysext/lowlevel/Classes/Database/QueryGenerator.php
index 97cbf15c2b7d..d5fe7ae73d26 100644
--- a/typo3/sysext/lowlevel/Classes/Database/QueryGenerator.php
+++ b/typo3/sysext/lowlevel/Classes/Database/QueryGenerator.php
@@ -1448,11 +1448,11 @@ class QueryGenerator
                     $this->fields[$fieldName]['label'] = rtrim(trim($this->getLanguageService()->sL($fC['label'])), ':');
                     switch ($this->fields[$fieldName]['type']) {
                         case 'input':
-                            if (preg_match('/int|year/i', $this->fields[$fieldName]['eval'])) {
+                            if (preg_match('/int|year/i', ($this->fields[$fieldName]['eval'] ?? ''))) {
                                 $this->fields[$fieldName]['type'] = 'number';
-                            } elseif (preg_match('/time/i', $this->fields[$fieldName]['eval'])) {
+                            } elseif (preg_match('/time/i', ($this->fields[$fieldName]['eval'] ?? ''))) {
                                 $this->fields[$fieldName]['type'] = 'time';
-                            } elseif (preg_match('/date/i', $this->fields[$fieldName]['eval'])) {
+                            } elseif (preg_match('/date/i', ($this->fields[$fieldName]['eval'] ?? ''))) {
                                 $this->fields[$fieldName]['type'] = 'date';
                             } else {
                                 $this->fields[$fieldName]['type'] = 'text';
@@ -2568,7 +2568,7 @@ class QueryGenerator
             $parts = GeneralUtility::intExplode(',', $this->extFieldLists['queryLimit']);
             $limitBegin = 0;
             $limitLength = (int)($this->extFieldLists['queryLimit'] ?? 0);
-            if ($parts[1]) {
+            if ($parts[1] ?? null) {
                 $limitBegin = (int)$parts[0];
                 $limitLength = (int)$parts[1];
             }
-- 
GitLab