Sergey Biryukov
446d463a19
Code Modernization: Check the return type of parse_url() in url_to_postid().
...
As per the PHP manual:
> If the `component` parameter is omitted, an associative array is returned.
> If the `component` parameter is specified, `parse_url()` returns a string (or an int, in the case of `PHP_URL_PORT`) instead of an array. If the requested component doesn't exist within the given URL, `null` will be returned.
Reference: [https://www.php.net/manual/en/function.parse-url.php#refsect1-function.parse-url-returnvalues PHP Manual: parse_url(): Return Values]
In this case, `parse_url()` is called with `PHP_URL_HOST` as `$component`, which returns `null` if the URL only has a path. The return value of `parse_url()` was then passed to `str_replace()`, leading to a notice on PHP 8.1:
{{{
str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
}}}
Adding validation for the return type value of `parse_url()` prevents that.
This commit addresses a few errors in the test suite along the lines of:
{{{
5) Tests_Rewrite::test_url_to_postid_home_has_path
str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
/var/www/src/wp-includes/rewrite.php:503
/var/www/tests/phpunit/tests/rewrite.php:271
/var/www/vendor/bin/phpunit:123
}}}
Includes adding a dedicated unit test for a URL that only has a path.
Follow-up to [41786], [51606], [51622], [51626], [51629], [51630], [52799].
Props jrf, aristath, poena, justinahinon, SergeyBiryukov.
See #55656 .
Built from https://develop.svn.wordpress.org/trunk@54364
git-svn-id: http://core.svn.wordpress.org/trunk@53923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-10-01 03:25:10 +00:00
..
2022-09-27 17:32:52 +00:00
2022-04-12 09:26:16 +00:00
2022-09-26 14:58:12 +00:00
2022-09-27 17:32:52 +00:00
2022-09-27 17:32:52 +00:00
2022-09-12 15:47:14 +00:00
2022-09-29 14:21:11 +00:00
2022-04-06 15:20:06 +00:00
2022-08-22 12:26:12 +00:00
2022-09-26 20:56:10 +00:00
2022-09-29 17:54:09 +00:00
2022-09-12 15:47:14 +00:00
2022-09-26 14:00:10 +00:00
2022-09-29 18:05:09 +00:00
2022-03-22 16:25:03 +00:00
2022-03-22 16:25:03 +00:00
2022-09-26 22:43:10 +00:00
2022-08-13 22:44:09 +00:00
2022-04-21 11:24:17 +00:00
2022-09-20 16:26:10 +00:00
2022-09-23 14:00:09 +00:00
2022-09-20 16:29:12 +00:00
2022-09-27 16:33:10 +00:00
2022-09-26 22:43:10 +00:00
2022-09-27 15:43:09 +00:00
2022-06-23 22:57:12 +00:00
2022-08-30 15:17:08 +00:00
2022-07-23 14:58:12 +00:00
2022-07-23 14:58:12 +00:00
2022-04-01 03:25:01 +00:00
2022-09-27 16:31:10 +00:00
2022-08-19 23:06:09 +00:00
2022-08-04 14:52:11 +00:00
2022-06-17 11:20:13 +00:00
2022-08-31 13:41:08 +00:00
2022-06-17 11:20:13 +00:00
2022-09-15 12:32:08 +00:00
2022-05-01 22:01:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-20 15:43:29 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-19 19:51:09 +00:00
2022-09-14 10:52:08 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 21:50:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-20 14:17:12 +00:00
2022-09-28 22:19:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-26 22:43:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-19 22:53:10 +00:00
2022-09-19 22:53:10 +00:00
2022-09-20 16:59:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-26 22:10:16 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-20 14:26:10 +00:00
2022-09-26 22:10:16 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-26 22:10:16 +00:00
2022-09-12 15:47:14 +00:00
2022-09-29 10:09:11 +00:00
2022-09-20 11:57:20 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-26 22:10:16 +00:00
2022-09-12 15:47:14 +00:00
2022-09-19 20:49:10 +00:00
2022-09-28 22:19:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-28 14:59:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-20 13:13:21 +00:00
2022-09-23 21:31:10 +00:00
2022-09-12 15:47:14 +00:00
2022-09-30 14:48:12 +00:00
2022-09-20 01:36:09 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-12 15:47:14 +00:00
2022-09-27 02:18:10 +00:00
2022-09-20 13:12:10 +00:00
2022-09-20 02:51:09 +00:00
2022-09-20 14:17:12 +00:00
2022-09-20 14:17:12 +00:00
2022-09-20 14:17:12 +00:00
2022-09-12 17:52:08 +00:00
2022-08-26 01:03:14 +00:00
2022-05-08 00:29:14 +00:00
2022-09-20 20:32:09 +00:00
2022-06-17 11:20:13 +00:00
2022-09-20 01:36:09 +00:00
2022-09-29 18:55:10 +00:00
2022-09-21 19:48:13 +00:00
2022-06-17 11:20:13 +00:00
2022-08-19 22:06:09 +00:00
2022-04-29 19:17:11 +00:00
2022-06-20 21:46:16 +00:00
2022-09-20 14:17:12 +00:00
2022-09-26 13:07:14 +00:00
2022-09-28 22:19:10 +00:00
2022-09-22 09:26:15 +00:00
2022-09-14 18:44:09 +00:00
2022-09-14 13:08:14 +00:00
2022-08-11 14:11:08 +00:00
2022-09-15 13:29:13 +00:00
2022-09-28 22:19:10 +00:00
2022-09-13 18:05:09 +00:00
2022-09-27 16:31:10 +00:00
2022-09-20 04:02:10 +00:00
2022-09-26 22:43:10 +00:00
2022-08-11 14:03:09 +00:00
2022-09-06 11:28:13 +00:00
2022-07-14 13:35:13 +00:00
2022-09-20 02:51:09 +00:00
2022-09-21 19:48:13 +00:00
2022-09-20 02:51:09 +00:00
2022-05-13 12:21:13 +00:00
2022-09-06 11:28:13 +00:00
2022-08-26 01:03:14 +00:00
2022-06-15 13:37:10 +00:00
2022-09-28 13:44:15 +00:00
2022-09-21 20:24:12 +00:00
2022-08-01 11:15:14 +00:00
2022-09-21 20:24:12 +00:00
2022-09-27 02:00:09 +00:00
2022-06-21 13:34:13 +00:00
2022-09-28 14:04:11 +00:00
2022-09-28 14:47:12 +00:00
2022-10-01 03:25:10 +00:00
2022-04-06 15:33:03 +00:00
2022-03-22 16:25:03 +00:00
2022-09-29 19:15:10 +00:00
2022-09-26 22:43:10 +00:00
2022-09-14 12:48:16 +00:00
2022-09-20 18:53:09 +00:00
2022-09-21 01:09:10 +00:00
2022-09-21 11:43:13 +00:00
2022-05-02 13:13:08 +00:00
2022-09-14 18:44:09 +00:00
2022-09-15 12:20:09 +00:00
2022-09-22 11:13:14 +00:00
2022-09-27 15:23:10 +00:00
2022-04-27 13:47:11 +00:00
2022-10-01 03:25:10 +00:00
2022-06-01 18:14:10 +00:00
2022-07-21 22:45:11 +00:00