From 279ed1ee76616469d24367faf83b0d45d25905f1 Mon Sep 17 00:00:00 2001 From: Andre Klapper Date: Wed, 1 May 2024 17:48:04 +0200 Subject: [PATCH] Fix PHP 8.1 "strlen(null)" exception in PhabricatorPasteLanguageTransaction.php Summary: `strlen()` was used in Phabricator to check if a generic value is a non-empty string. This behavior is deprecated since PHP 8.1. Phorge adopts `phutil_nonempty_string()` as a replacement. Note: this may highlight other absurd input values that might be worth correcting instead of just ignoring. If phutil_nonempty_string() throws an exception in your instance, report it to Phorge to evaluate and fix that specific corner case. Closes T15808 Test Plan: Unknown. Given that the function rendering `$value` is later called to construct a title string passed to `pht()` I assume that it should be a string and not a scalar. Reviewers: O1 Blessed Committers, speck Reviewed By: O1 Blessed Committers, speck Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15808 Differential Revision: https://we.phorge.it/D25611 --- .../paste/xaction/PhabricatorPasteLanguageTransaction.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/applications/paste/xaction/PhabricatorPasteLanguageTransaction.php b/src/applications/paste/xaction/PhabricatorPasteLanguageTransaction.php index 8927270c0d..954bf36b58 100644 --- a/src/applications/paste/xaction/PhabricatorPasteLanguageTransaction.php +++ b/src/applications/paste/xaction/PhabricatorPasteLanguageTransaction.php @@ -14,7 +14,7 @@ final class PhabricatorPasteLanguageTransaction } private function renderLanguageValue($value) { - if (!strlen($value)) { + if (!phutil_nonempty_string($value)) { return $this->renderValue(pht('autodetect')); } else { return $this->renderValue($value); -- 2.51.2