In `wp_schedule_single_event()`, the cron info array is retrieved via a call to `_get_cron_array()` and straight away cast to an array. But as the documentation for that function (correctly) states, the return type of that function is `array|false`, where `false` is returned for a site where no cron jobs have been scheduled (yet). In the case that `_get_cron_array()` would return `false`, this would now unintentionally create an array with a single entry with key `0` and as the value `false`. This is a bug. Fixed now by adding validation to the output of `_get_cron_array()` and initializing `$crons` to an empty array if `false` was returned. Tests added first to prove the bug (a) was introduced in #44818 [44917] and (b) is now fixed. Follow-up to [44917]. Props jrf, peterwilsoncc. Fixes #53950. Built from https://develop.svn.wordpress.org/trunk@51916 git-svn-id: http://core.svn.wordpress.org/trunk@51509 1a063a9b-81f0-0310-95a4-ce76da25c4cd
40 KiB
40 KiB