1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-09-19 16:38:51 +02:00
No description
Find a file
Valerio Bozzolan c14785c379 Fix PHP 8.1 "strpos(null)" exception from PhutilCommandString which blocks arc patch
Summary:
For some reason it may happen that a specific command line argument receives a null argument
from PHP, instead of just an empty string.

Nowadays, this null value probably breaks almost whatever GNU/Linux or FreeBSD or Microsoft Windows
etc. implementations since everyone expect to receive a string.

This used to work in the past since functions like strpos() or strlen() accepted null, but not
anymore. This generate a deprecation warning since PHP 8.1, that is elevated as exception from
Phabricator/Phorge and breaking features.

Without getting into implementation logics (which doesn't make sense to fix all of them) the
calling function should just be kind. So we normalize nonsense null values to an empty string.

Note: this was the expected behavior prior to PHP 8.1.

Now we do that normalization explicitly, in this early point.

After this fix, also T15368 should probably be fixed.

Closes T15367

Test Plan:
- run "arc patch <something valid>"
- to you it must continue to work
- (to @ton it starts working right now)

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno, ton

Maniphest Tasks: T15367

Differential Revision: https://we.phorge.it/D25205
2023-05-09 08:29:00 +02:00
bin When "ArcanistRuntime" exits with a nonzero exit code, emit that exit code 2020-02-27 06:17:02 -08:00
externals Fully merge "libphutil/" into "arcanist/" 2020-02-12 15:17:38 -08:00
resources Update the extracted cURL SSL CA bundle 2021-12-02 14:56:16 -08:00
scripts Remove all product name literals in "pht()" in Arcanist 2022-04-25 12:21:31 -07:00
src Fix PHP 8.1 "strpos(null)" exception from PhutilCommandString which blocks arc patch 2023-05-09 08:29:00 +02:00
support Update arc-hg to support mercurial 6.1 2022-03-11 13:10:39 -05:00
.arcconfig Arcanist Update .arcconfig to point to we.phorge.it 2021-06-19 18:10:39 +00:00
.arclint Add new "Hardpoint" classes to support request parallelization 2020-04-08 09:23:50 -07:00
.arcunit Rough version of configuration driven unit test engine 2015-08-11 06:54:16 +10:00
.editorconfig Test XHPAST linter rules in isolation 2015-11-19 08:57:23 +11:00
.gitignore Allow "hg arc-ls-markers" to run under Python 2 or Python 3 2020-07-06 15:29:35 -07:00
LICENSE Fix text lint issues 2015-04-07 18:09:27 +10:00
NOTICE Remove duplicate newline 2014-07-17 08:25:22 +10:00
README.md Update arcanist readme to reference Phorge 2021-06-20 15:20:47 -06:00

Arcanist is the command-line tool for Phorge. It allows you to interact with Phorge installs to send code for review, download patches, transfer files, view status, make API calls, and various other things. You can read more in the User Guide

For more information about Phorge, see https://phorge.it/.

LICENSE

Arcanist is released under the Apache 2.0 license except as otherwise noted.