[BUGFIX] Prevent strings from being autoloaded
The introduction of a TypeConverter for Enumaration types in #52762 added is_subclass() calls to getPlainValue() in the DatabaseBackends. These methods are meant to convert objects to simply types but are regularly called with simple types, in particular strings. Since is_subclass() also works with strings, The class loader is triggered when these methods are called with a table name like "tx_ext_domain_model_foo". This triggers an issue #55418 in the class loader especially on case insensitive filesystems. Instead of is_subclass we now use instanceof to make sure we only check for conversion if the value is an object. Additionally this change fixes a wrong case statement which also was introduced in #52762 Resolves: #54275 Change-Id: If1b2a28a2623e49dfb47720641935c6f24447c19 Reviewed-on: https://review.typo3.org/27079 Reviewed-by: Helmut Hummel Tested-by: Helmut Hummel
Showing
- typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php 1 addition, 2 deletionstypo3/sysext/extbase/Classes/Persistence/Generic/Backend.php
- typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php 2 additions, 3 deletions...extbase/Classes/Persistence/Generic/Mapper/DataMapper.php
- typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php 1 addition, 2 deletions...se/Classes/Persistence/Generic/Storage/Typo3DbBackend.php
Please register or sign in to comment