Sergey Biryukov
df054f2dae
Cache API: Validate cache key in WP_Object_Cache
methods.
...
Some plugins may call the `wp_cache_*()` functions with an empty string, `false`, or `null` as cache key, usually as a result of not checking the return value of another function that's used as the key.
Previously, this was silently failing, leading to odd behavior at best and often breakage due to key collisions.
A valid cache key must be either an integer number or a non-empty string.
This commit introduces a quick type check on the given cache keys and adds a `_doing_it_wrong()` message that should help plugin developers to notice these issues quicker.
Includes:
* A check in `update_user_caches()` and `clean_user_cache()` to make sure user email is not empty before being cached or removed from cache, as it is technically possible to create a user with empty email via `wp_insert_user()`.
* Some minor cleanup in unit tests where the email was passed to `wp_insert_user()` incorrectly or was unintentionally reset.
Props tillkruess, malthert, dd32, spacedmonkey, flixos90, peterwilsoncc, SergeyBiryukov.
Fixes #56198 .
Built from https://develop.svn.wordpress.org/trunk@53818
git-svn-id: http://core.svn.wordpress.org/trunk@53377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-03 14:36:12 +00:00
..
2022-07-05 14:38:33 +00:00
2022-04-12 09:26:16 +00:00
2022-06-23 23:09:09 +00:00
2022-07-08 12:34:14 +00:00
2021-10-03 17:51:06 +00:00
2022-07-04 12:06:43 +00:00
2022-06-01 18:14:10 +00:00
2021-11-26 03:06:03 +00:00
2021-11-16 00:04:01 +00:00
2021-05-24 02:18:58 +00:00
2022-07-21 18:03:13 +00:00
2022-04-06 15:20:06 +00:00
2022-06-20 15:04:11 +00:00
2022-05-02 13:13:08 +00:00
2022-02-16 21:19:04 +00:00
2021-12-06 21:30:03 +00:00
2022-08-03 10:07:13 +00:00
2021-12-20 19:33:00 +00:00
2022-06-21 13:48:12 +00:00
2022-03-24 15:20:08 +00:00
2022-03-22 16:25:03 +00:00
2022-03-22 16:25:03 +00:00
2022-07-01 20:01:15 +00:00
2022-07-21 09:04:14 +00:00
2022-04-21 11:24:17 +00:00
2022-06-14 14:43:12 +00:00
2022-05-20 11:42:19 +00:00
2021-08-11 09:08:01 +00:00
2022-07-29 08:31:10 +00:00
2022-07-22 07:18:13 +00:00
2022-07-20 13:21:08 +00:00
2022-07-30 14:09:10 +00:00
2022-06-23 22:57:12 +00:00
2022-06-23 22:57:12 +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-05-23 15:01:12 +00:00
2022-07-18 17:37:17 +00:00
2022-06-17 11:20:13 +00:00
2022-06-17 11:20:13 +00:00
2021-05-25 18:47:59 +00:00
2021-12-06 21:30:03 +00:00
2021-12-24 18:06:06 +00:00
2022-01-30 19:25:03 +00:00
2022-01-30 19:25:03 +00:00
2022-01-30 19:25:03 +00:00
2022-01-30 19:25:03 +00:00
2022-05-01 22:01:10 +00:00
2022-01-30 19:25:03 +00:00
2021-11-15 03:43:59 +00:00
2022-07-06 11:55:11 +00:00
2022-03-17 03:37:05 +00:00
2021-08-03 11:12:55 +00:00
2022-05-17 14:38:14 +00:00
2022-05-23 20:40:14 +00:00
2021-11-28 13:53:00 +00:00
2021-11-23 21:37:01 +00:00
2021-12-21 00:28:00 +00:00
2021-06-15 15:22:58 +00:00
2022-04-26 09:50:12 +00:00
2022-07-26 13:00:16 +00:00
2022-06-14 16:17:08 +00:00
2021-10-22 16:09:59 +00:00
2022-07-25 19:30:09 +00:00
2022-05-02 13:13:08 +00:00
2022-01-24 05:34:04 +00:00
2021-12-11 19:50:59 +00:00
2022-04-24 00:28:08 +00:00
2022-04-25 13:29:09 +00:00
2022-07-30 14:01:13 +00:00
2022-04-28 09:46:21 +00:00
2022-04-26 10:00:09 +00:00
2022-04-28 09:46:21 +00:00
2022-04-29 19:17:11 +00:00
2021-12-01 13:22:01 +00:00
2021-09-22 21:23:00 +00:00
2022-03-20 16:24:03 +00:00
2022-01-18 20:29:06 +00:00
2021-10-01 15:00:58 +00:00
2021-12-01 12:17:00 +00:00
2021-12-06 21:30:03 +00:00
2021-12-06 21:30:03 +00:00
2022-06-06 10:51:12 +00:00
2022-03-20 16:02:04 +00:00
2022-06-21 11:18:17 +00:00
2022-06-21 11:18:17 +00:00
2022-07-21 18:03:13 +00:00
2022-01-30 19:25:03 +00:00
2022-03-18 21:18:03 +00:00
2022-01-06 17:05:02 +00:00
2022-05-10 11:21:09 +00:00
2022-05-15 20:32:08 +00:00
2022-08-03 14:36:12 +00:00
2021-06-15 10:24:57 +00:00
2022-07-21 04:25:13 +00:00
2022-04-29 19:17:11 +00:00
2022-04-13 03:04:10 +00:00
2022-05-21 12:07:13 +00:00
2022-06-15 13:37:10 +00:00
2022-04-29 19:17:11 +00:00
2022-04-04 18:26:06 +00:00
2022-04-29 19:17:11 +00:00
2022-01-30 19:25:03 +00:00
2022-05-23 15:01:12 +00:00
2021-05-15 17:38:05 +00:00
2022-02-04 16:28:00 +00:00
2022-06-14 16:17:08 +00:00
2021-02-20 17:10:11 +00:00
2022-03-31 10:06:01 +00:00
2022-04-13 03:04:10 +00:00
2022-06-14 16:17:08 +00:00
2022-02-04 16:28:00 +00:00
2022-04-28 09:59:13 +00:00
2021-12-02 20:45:01 +00:00
2022-04-28 09:59:13 +00:00
2022-07-14 14:10:11 +00:00
2022-07-05 09:28:13 +00:00
2022-03-07 13:07:03 +00:00
2022-05-01 21:47:10 +00:00
2021-06-23 01:34:58 +00:00
2021-11-16 01:43:00 +00:00
2022-07-20 14:14:09 +00:00
2022-04-20 12:47:11 +00:00
2022-07-21 16:00:15 +00:00
2022-04-26 14:28:08 +00:00
2022-05-08 23:59:11 +00:00
2022-04-26 14:59:08 +00:00
2022-07-29 17:06:15 +00:00
2022-07-20 14:22:08 +00:00
2022-05-08 00:29:14 +00:00
2022-07-29 03:34:13 +00:00
2022-06-17 11:20:13 +00:00
2022-03-18 20:48:02 +00:00
2022-06-01 18:14:10 +00:00
2021-05-25 08:27:57 +00:00
2022-07-18 17:37:17 +00:00
2022-06-17 11:20:13 +00:00
2022-07-18 17:37:17 +00:00
2022-04-29 19:17:11 +00:00
2021-11-29 09:52:00 +00:00
2022-06-20 21:46:16 +00:00
2022-07-25 17:28:09 +00:00
2022-08-02 14:50:12 +00:00
2022-04-04 18:26:06 +00:00
2021-11-19 15:14:00 +00:00
2022-07-20 20:37:07 +00:00
2022-02-17 16:18:03 +00:00
2022-07-23 16:57:09 +00:00
2021-12-07 12:20:02 +00:00
2022-03-31 03:54:02 +00:00
2022-07-15 13:45:11 +00:00
2022-07-20 15:46:09 +00:00
2022-07-21 16:00:15 +00:00
2022-07-25 18:11:08 +00:00
2022-07-21 18:03:13 +00:00
2022-02-11 18:51:59 +00:00
2022-07-14 13:35:13 +00:00
2022-03-29 12:42:13 +00:00
2022-06-02 15:05:13 +00:00
2021-07-06 20:21:57 +00:00
2022-04-25 09:25:09 +00:00
2022-05-13 12:21:13 +00:00
2022-02-11 18:51:59 +00:00
2022-03-03 16:13:03 +00:00
2022-02-07 14:01:05 +00:00
2022-06-15 13:37:10 +00:00
2022-07-15 16:00:10 +00:00
2022-07-12 21:05:16 +00:00
2022-08-01 11:15:14 +00:00
2022-07-18 17:37:17 +00:00
2022-03-15 15:22:05 +00:00
2022-07-24 13:26:12 +00:00
2022-06-21 13:34:13 +00:00
2022-06-01 18:14:10 +00:00
2022-07-25 19:30:09 +00:00
2022-03-25 21:34:01 +00:00
2022-04-06 15:33:03 +00:00
2022-03-22 16:25:03 +00:00
2022-07-19 19:43:25 +00:00
2022-06-28 20:37:15 +00:00
2021-05-15 17:38:05 +00:00
2022-07-06 05:11:12 +00:00
2021-12-10 20:30:05 +00:00
2022-06-23 18:59:09 +00:00
2022-03-31 10:53:04 +00:00
2022-05-02 13:13:08 +00:00
2022-04-11 11:55:00 +00:00
2022-07-20 21:13:09 +00:00
2022-07-21 20:22:09 +00:00
2022-08-03 14:36:12 +00:00
2022-04-27 13:47:11 +00:00
2022-08-03 14:36:12 +00:00
2022-06-01 18:14:10 +00:00
2022-07-21 22:45:11 +00:00