Page MenuHomePhorge

Fix PHP 8.1 "strlen(null)" exception which blocks rendering Pholio mock preview
ClosedPublic

Authored by aklapper on May 6 2023, 09:52.
Tags
None
Referenced Files
F2063463: D25193.id668.diff
Thu, Mar 28, 16:12
Unknown Object (File)
Tue, Mar 26, 12:46
Unknown Object (File)
Tue, Mar 26, 11:33
Unknown Object (File)
Sun, Mar 24, 06:31
Unknown Object (File)
Wed, Mar 20, 10:35
Unknown Object (File)
Feb 25 2024, 07:36
Unknown Object (File)
Feb 25 2024, 07:36
Unknown Object (File)
Feb 25 2024, 06:54

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 T15353

Test Plan

Applied this change and /pholio/create/ displayed an image preview after uploading an image file.

Diff Detail

Repository
rP Phorge
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

aklapper requested review of this revision.May 6 2023, 09:52

I tested this patch locally with some fuzzy tests. Obviously without issues since this is an easy-peasy case.

Thanks again

yesyes

src/applications/pholio/controller/PholioImageUploadController.php
21

✅ I verified the above line

The $title comes from Aphront#getStr() that always return a string or null.

The function phutil_nonempty_string() will report any other alien value, and that is OK.

This revision is now accepted and ready to land.May 7 2023, 09:51