From 1dd4a74b96b25e4f2fda6f58858d10771ec5c3c4 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Tue, 19 Sep 2023 18:45:06 +0200
Subject: [PATCH] =?UTF-8?q?fix:=20=C3=89viter=20une=20erreur=20Sodium=20su?=
 =?UTF-8?q?r=20la=20migration=20vers=20SPIP=204.2=20si=20des=20jetons=20d?=
 =?UTF-8?q?=E2=80=99auteurs=20sont=20pr=C3=A9sents?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refs: #5733
---
 ecrire/action/inscrire_auteur.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ecrire/action/inscrire_auteur.php b/ecrire/action/inscrire_auteur.php
index 2f560803e4..149fb32068 100644
--- a/ecrire/action/inscrire_auteur.php
+++ b/ecrire/action/inscrire_auteur.php
@@ -407,7 +407,12 @@ function auteur_verifier_jeton($jeton) {
 	$auteurs = sql_allfetsel('*', 'spip_auteurs', 'cookie_oubli LIKE ' . sql_quote($public . '%'));
 	foreach ($auteurs as $auteur) {
 		$jeton_chiffre = substr((string) $auteur['cookie_oubli'], 8);
-		$_jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
+		try {
+			$_jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
+		} catch (\Exception $e) {
+			spip_log('Échec du déchiffrage du jeton d’auteur: ' . $e->getMessage(), 'chiffrer.' . _LOG_ERREUR);
+			return false;
+		}
 		if ($_jeton && hash_equals($jeton, $_jeton)) {
 			return $auteur;
 		}
-- 
GitLab