Bug #95840
openTcaPreparation::prepareQuotingOfTableNamesAndColumnNames() skips types columnsOverrides
0%
Description
\TYPO3\CMS\Core\Preparations\TcaPreparation::prepareQuotingOfTableNamesAndColumnNames()
is buggy:
The method only traverses 'columns'
of each table, to quote identifiers marked like {#identifier}
in TCA SQL parts.
However, such TCA SQL parts - like foreign_table_where
- might also occur in overridden columns of specified types, like: $GLOBALS['TCA'][<table>]['types'][<type>]['columnsOverrides'][<column>]['config']
.
Therefore, to fix this bug, all types must be traversed as well, and identifiers quoted.
Otherwise, identifiers marked like {#identifier}
in TCA SQL parts of columnsOverrides
sections are not quoted, resulting in SQL syntax errors.
At least TYPO3 10, 11 and the development branch are affected. (https://github.com/TYPO3/typo3/blob/master/typo3/sysext/core/Classes/Preparations/TcaPreparation.php#L189)