Make WordPress Core

Changeset 61098


Ignore:
Timestamp:
10/30/2025 07:43:13 PM (6 weeks ago)
Author:
joedolson
Message:

Media: Prevent fatal error if metadata is an array.

Check the data type of ID3 data on import before running wp_kses_post or wp_kses_post_deep to fix a fatal error thrown when attempting to run wp_kses_post on non-string content in PHP 8.2+.

Adds unit tests to verify.

Props sllimrovert, ankitkumarshah, rollybueno, wpfy, hmbashar, SirLouen, johnbillion, huzaifaalmesbah, sandeepdahiya, sourabhjain, poojapadamad, joedolson.
Fixes #63529.

Location:
trunk
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/media.php

    r60806 r61098  
    35353535            foreach ( $data[ $version ]['comments'] as $key => $list ) {
    35363536                if ( 'length' !== $key && ! empty( $list ) ) {
    3537                     $metadata[ $key ] = wp_kses_post( reset( $list ) );
     3537                    $metadata[ $key ] = is_array( $list ) ? wp_kses_post_deep( reset( $list ) ) : wp_kses_post( $list );
    35383538                    // Fix bug in byte stream analysis.
    35393539                    if ( 'terms_of_use' === $key && str_starts_with( $metadata[ $key ], 'yright notice.' ) ) {
Note: See TracChangeset for help on using the changeset viewer.