From 2f312e2c8a69e817a45ac1250e76534041a2a7b7 Mon Sep 17 00:00:00 2001 From: Volker Diels-Grabsch <volker.diels-grabsch@m-click.aero> Date: Thu, 9 Apr 2020 19:27:16 +0200 Subject: [PATCH] [BUGFIX] Do not perform string-with-boolean comparisons in switch cases This commit fixes a string-with-boolean comparison in a switch case. Instead, this complex case is moved down to the default case where all other complex cases are handled as well. Resolves: #90992 Related: #89857 Related: #72053 Releases: master, 9.5 Change-Id: I43730176e1a46a2bc63ea4d45bcf4511c1970aab Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64113 Tested-by: Jonas Eberle <flightvision@googlemail.com> Tested-by: Markus Klein <markus.klein@typo3.org> Tested-by: Georg Ringer <georg.ringer@gmail.com> Tested-by: TYPO3com <noreply@typo3.com> Reviewed-by: Jonas Eberle <flightvision@googlemail.com> Reviewed-by: Markus Klein <markus.klein@typo3.org> Reviewed-by: Oliver Bartsch <bo@cedev.de> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> --- .../Classes/Persistence/Generic/Mapper/DataMapper.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php b/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php index 79968dfb7f7a..ed281be696ab 100644 --- a/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php +++ b/typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php @@ -283,15 +283,14 @@ class DataMapper $this->fetchRelated($object, $propertyName, $row[$columnName]) ); break; - case is_subclass_of($propertyType, \DateTimeInterface::class): + default: + if (is_subclass_of($propertyType, \DateTimeInterface::class)) { $propertyValue = $this->mapDateTime( $row[$columnName], $columnMap->getDateTimeStorageFormat(), $propertyType ); - break; - default: - if (TypeHandlingUtility::isCoreType($propertyType)) { + } elseif (TypeHandlingUtility::isCoreType($propertyType)) { $propertyValue = $this->mapCoreType($propertyType, $row[$columnName]); } else { $propertyValue = $this->mapObjectToClassProperty( -- GitLab