Page MenuHomePhorge

Fix PHP 8.1 "strlen(null)" exceptions which block rendering Legalpad signatures
ClosedPublic

Authored by aklapper on Sat, May 13, 11:04.
Tags
None
Referenced Files
Unknown Object (File)
Wed, May 31, 17:50
Unknown Object (File)
Wed, May 31, 06:45
Unknown Object (File)
Tue, May 30, 17:12
Unknown Object (File)
Tue, May 30, 10:55
Unknown Object (File)
Tue, May 30, 08:52
Unknown Object (File)
Sat, May 27, 11:42
Unknown Object (File)
Mon, May 15, 05:38

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 T15395

Test Plan

Applied these two changes; afterwards "All Signatures" page at /legalpad/signatures/1/ gets rendered in web browser.

Diff Detail

Repository
rP Phorge
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Thanks for this patch (again!)

I tested this locally with fuzzy tests in the Name Contains and Email Contains input fields, without any nuclear implosion.

The function phutil_nonempty_string() will report any alien value that is not string or null, and I verified that this is OK here.

sgtm

This revision is now accepted and ready to land.Fri, May 19, 10:45