Skip to content

Commit 9fa9aa3

Browse files
committed
Fix PHP 8.1 "strlen(null)" exception on "Link External Account" page at login
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. ``` EXCEPTION: (RuntimeException) strlen(): Passing null to parameter freebsd#1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(), phorge() #0 <freebsd#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/applications/auth/controller/PhabricatorAuthSetExternalController.php:43] ``` Closes T15606 Test Plan: Follow steps in T15606; page `/auth/external/` displays as expected the content: "Link External Account - You can link your Phabricator account to an external account to allow you to log in more easily in the future. To continue, choose an account to link below. If you prefer not to link your account, you can skip this step." and the "Link External Account" button. Reviewers: O1 Blessed Committers, avivey Reviewed By: O1 Blessed Committers, avivey Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15606 Differential Revision: https://we.phorge.it/D25395
1 parent 29493f8 commit 9fa9aa3

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Diff for: src/applications/auth/controller/PhabricatorAuthSetExternalController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function handleRequest(AphrontRequest $request) {
4040
$text = PhabricatorAuthMessage::loadMessageText(
4141
$viewer,
4242
PhabricatorAuthLinkMessageType::MESSAGEKEY);
43-
if (!strlen($text)) {
43+
if (!phutil_nonempty_string($text)) {
4444
$text = pht(
4545
'You can link your %s account to an external account to '.
4646
'allow you to log in more easily in the future. To continue, choose '.

0 commit comments

Comments
 (0)