Page MenuHomePhorge

Fix PHP 8.1 "strlen(null)" exception in PhabricatorPasteLanguageTransaction.php
ClosedPublic

Authored by aklapper on May 1 2024, 15:48.
Tags
None
Referenced Files
F2946929: D25611.1738433041.diff
Fri, Jan 31, 18:04
F2945899: D25611.1738371985.diff
Fri, Jan 31, 01:06
F2944573: D25611.1738273098.diff
Wed, Jan 29, 21:38
F2938218: D25611.1737981349.diff
Sun, Jan 26, 12:35
F2936943: D25611.1737944082.diff
Sun, Jan 26, 02:14
F2932529: D25611.1737738325.diff
Thu, Jan 23, 17:05
F2930461: D25611.1737679029.diff
Thu, Jan 23, 00:37
F2863272: D25611.1736488795.diff
Thu, Jan 9, 05:59

Details

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.

Diff Detail

Repository
rP Phorge
Lint
Lint Not Applicable
Unit
Tests Not Applicable