Page MenuHomePhorge

Fix PHP 8.1 "strlen(null)" exception which blocks deleting Phriction document
ClosedPublic

Authored by aklapper on May 24 2023, 15:33.

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 T15419

Test Plan

Applied this changes and page at /w/ correctly rendered saying Document Deleted - This document has been deleted. You can edit it to put new content here, or use history to revert to an earlier version.

Also test creating it again, and updating it again: it still works.

Diff Detail

Repository
rP Phorge
Branch
sciencePhriction (branched from master)
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 451
Build 451: arc lint + arc unit

Event Timeline

valerio.bozzolan edited the test plan for this revision. (Show Details)

Thaanks again

Tested locally,

Followed the test plan and expanded a bit, without any nuclear error.

Indeed it seems the description is always NULL when creating a page and a pure string otherwise, so your check seems perfect to me.

sgtm

This revision is now accepted and ready to land.May 24 2023, 15:58