From 425c911e9ce7c5fe3f54e01997b1cc3420cda3e5 Mon Sep 17 00:00:00 2001 From: Georg Ringer <georg.ringer@gmail.com> Date: Sat, 15 Feb 2020 13:50:50 +0100 Subject: [PATCH] [BUGFIX] Use multibyte method in CodeCompletionController Use mb_strlen & mb_substr to cut off TypoScript to avoid exceptions if the 20th character is a multibyte value. Resolves: #90372 Releases: master, 9.5 Change-Id: I8f90aa54a4cb6ede95d4fa50d557aeec4d8cd031 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63255 Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com> Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Daniel Goerz <daniel.goerz@posteo.de> Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com> --- .../t3editor/Classes/Controller/CodeCompletionController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php b/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php index 43f329aba46e..c1e1b6e0a47a 100644 --- a/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php +++ b/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php @@ -90,8 +90,8 @@ class CodeCompletionController //type definition or value-assignment if ($dotCount === 0) { if ($value != '') { - if (strlen($value) > 20) { - $value = substr($value, 0, 20); + if (mb_strlen($value) > 20) { + $value = mb_substr($value, 0, 20); } if (!isset($cleanedTreeBranch[$key])) { $cleanedTreeBranch[$key] = []; -- GitLab