From 6d219783408bf21798c40dcf5a72f3d699cd8a2b Mon Sep 17 00:00:00 2001 From: Andre Klapper Date: Thu, 5 Jun 2025 09:31:40 +0200 Subject: [PATCH] Fix PHP 8.1 "strlen(null)" exception for no query in primary search 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. ``` ERROR 8192: strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [/var/www/html/phorge/phorge/src/applications/search/controller/PhabricatorSearchController.php:34] ``` Test Plan: Visit `http://phorge.localhost/search/?search:primary=true` Reviewers: O1 Blessed Committers, valerio.bozzolan Reviewed By: O1 Blessed Committers, valerio.bozzolan Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Differential Revision: https://we.phorge.it/D26061 --- .../search/controller/PhabricatorSearchController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/applications/search/controller/PhabricatorSearchController.php b/src/applications/search/controller/PhabricatorSearchController.php index 336604d228..1f59cd766e 100644 --- a/src/applications/search/controller/PhabricatorSearchController.php +++ b/src/applications/search/controller/PhabricatorSearchController.php @@ -31,7 +31,7 @@ final class PhabricatorSearchController if ($request->getBool('search:primary')) { // If there's no query, just take the user to advanced search. - if (!strlen($query)) { + if (!phutil_nonempty_string($query)) { $advanced_uri = '/search/query/advanced/'; return id(new AphrontRedirectResponse())->setURI($advanced_uri); } -- 2.51.2