Skip to content

Commit

Permalink
[BUGFIX] Fix array access for user without read permissions in PHP8
Browse files Browse the repository at this point in the history
Given you have a user which has no access to the current page
or no page at all, a "access array offset on value of type"
is thrown in PHP8.

This has been fixed by adding a fallback in case the
array key does not exist which then throws the expected
exception.

Resolves: #96026
Releases: master, 11.5
Change-Id: I335a74fb6c2566d7a3e65632977dbc2740249414
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72228
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
  • Loading branch information
ochorocho authored and lolli42 committed Nov 19, 2021
1 parent b60cf59 commit 37f059e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion typo3/sysext/backend/Classes/Http/RouteDispatcher.php
Expand Up @@ -185,7 +185,7 @@ protected function addAndValidateModuleConfiguration(ServerRequestInterface $req
// Check if page has been deleted
$deleteField = $GLOBALS['TCA']['pages']['ctrl']['delete'];
$pageInfo = BackendUtility::getRecord('pages', $id, $deleteField, $permClause ? ' AND ' . $permClause : '', false);
if (!$pageInfo[$deleteField]) {
if (!($pageInfo[$deleteField] ?? false)) {
throw new \RuntimeException('You don\'t have access to this page', 1289917924);
}
}
Expand Down

0 comments on commit 37f059e

Please sign in to comment.