From 3ca2927ff1a958ef9e99e39758912c86e76198a9 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Tue, 22 Oct 2024 10:31:18 +0200 Subject: [PATCH] do not access typed property before initialization --- .../Transliterator/EmojiTransliteratorTest.php | 14 ++++++++++++++ .../Intl/Transliterator/EmojiTransliterator.php | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Intl/Tests/Transliterator/EmojiTransliteratorTest.php b/src/Symfony/Component/Intl/Tests/Transliterator/EmojiTransliteratorTest.php index ccc379b09ac2d..a01bb0d2f9b8e 100644 --- a/src/Symfony/Component/Intl/Tests/Transliterator/EmojiTransliteratorTest.php +++ b/src/Symfony/Component/Intl/Tests/Transliterator/EmojiTransliteratorTest.php @@ -177,4 +177,18 @@ public function testReverse() $this->expectException(\IntlException::class); EmojiTransliterator::create('emoji-en', EmojiTransliterator::REVERSE); } + + public function testGetErrorCodeWithUninitializedTransliterator() + { + $transliterator = EmojiTransliterator::create('emoji-en'); + + $this->assertSame(0, $transliterator->getErrorCode()); + } + + public function testGetErrorMessageWithUninitializedTransliterator() + { + $transliterator = EmojiTransliterator::create('emoji-en'); + + $this->assertFalse($transliterator->getErrorMessage()); + } } diff --git a/src/Symfony/Component/Intl/Transliterator/EmojiTransliterator.php b/src/Symfony/Component/Intl/Transliterator/EmojiTransliterator.php index 0702fa43b2fca..7b8391ca43e0d 100644 --- a/src/Symfony/Component/Intl/Transliterator/EmojiTransliterator.php +++ b/src/Symfony/Component/Intl/Transliterator/EmojiTransliterator.php @@ -72,12 +72,12 @@ public function createInverse(): self public function getErrorCode(): int|false { - return $this->transliterator?->getErrorCode() ?? 0; + return isset($this->transliterator) ? $this->transliterator->getErrorCode() : 0; } public function getErrorMessage(): string|false { - return $this->transliterator?->getErrorMessage() ?? false; + return isset($this->transliterator) ? $this->transliterator->getErrorMessage() : false; } public static function listIDs(): array