The size_format()
function returns false
if zero is passed as a string and returns '0 B'
if zero is passed as an integer.
The root cause is a strict comparison when checking against zero (if ( 0 === $bytes ) {
). If the $bytes
parameter is passed as a string ('0'
), the condition fails.
Proposed Fix: if ( 0 === $bytes || '0' === $bytes ) {
This behaviour was introduced in WP 4.6.0. Before v4.6.0, both 0
and '0'
resulted in size_format()
returning false
.
Hello @marian1,
Welcome to WordPress Core's Trac.
I'm doing triage today for bugs reported on 6.6.1 or 6.6.2 (i.e. via Version
) and then updating ticket information.
The strict comparison was introduced in Version
4.6 via #36635 / [37962]. Updating the Version
to 4.6.
Hi @marian1
Welcome to the Core Trac!
Thanks for the detailed information.
I have added the patch for the same.
This ticket was mentioned in PR #7248 on WordPress/wordpress-develop by @narenin. Trac ticket: https://core.trac.wordpress.org/ticket/61930