From 39cd15b506d9c7cc93d1a8501e7d098b2509d922 Mon Sep 17 00:00:00 2001
From: Nicolas Grekas
Date: Tue, 30 Aug 2022 12:21:51 +0200
Subject: [PATCH] Fix checking result of DateTime::getLastErrors
---
.../Core/DataTransformer/DateTimeToStringTransformer.php | 2 +-
.../Component/Validator/Constraints/DateTimeValidator.php | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php
index 51d42494d1def..bae85a86fbec5 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php
@@ -121,7 +121,7 @@ public function reverseTransform($value)
$outputTz = new \DateTimeZone($this->outputTimezone);
$dateTime = \DateTime::createFromFormat($this->parseFormat, $value, $outputTz);
- $lastErrors = \DateTime::getLastErrors();
+ $lastErrors = \DateTime::getLastErrors() ?: ['error_count' => 0, 'warning_count' => 0];
if (0 < $lastErrors['warning_count'] || 0 < $lastErrors['error_count']) {
throw new TransformationFailedException(implode(', ', array_merge(array_values($lastErrors['warnings']), array_values($lastErrors['errors']))));
diff --git a/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php b/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php
index 1a3ae3784b422..5f2c7a8ef140e 100644
--- a/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php
+++ b/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php
@@ -48,7 +48,7 @@ public function validate($value, Constraint $constraint)
\DateTime::createFromFormat($constraint->format, $value);
- $errors = \DateTime::getLastErrors();
+ $errors = \DateTime::getLastErrors() ?: ['error_count' => 0, 'warnings' => []];
if (0 < $errors['error_count']) {
$this->context->buildViolation($constraint->message)