Fix broken audio/video functions when sanitizing ID3 data

This fixes a bug where running `wp_kses_post_deep()` on all the ID3
tag data corrupted blob data.

See #40075, #40085.

Merges [40400] to the 4.4 branch.

Built from https://develop.svn.wordpress.org/branches/4.4@40463


git-svn-id: http://core.svn.wordpress.org/branches/4.4@40339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Pascal Birchler 2017-04-17 13:17:31 +00:00
parent b96b3f4d38
commit 63d7638596
1 changed files with 1 additions and 5 deletions

View File

@ -2938,7 +2938,7 @@ function wp_add_id3_tag_data( &$metadata, $data ) {
if ( ! empty( $data[$version]['comments'] ) ) { if ( ! empty( $data[$version]['comments'] ) ) {
foreach ( $data[$version]['comments'] as $key => $list ) { foreach ( $data[$version]['comments'] as $key => $list ) {
if ( 'length' !== $key && ! empty( $list ) ) { if ( 'length' !== $key && ! empty( $list ) ) {
$metadata[$key] = reset( $list ); $metadata[$key] = wp_kses_post( reset( $list ) );
// Fix bug in byte stream analysis. // Fix bug in byte stream analysis.
if ( 'terms_of_use' === $key && 0 === strpos( $metadata[$key], 'yright notice.' ) ) if ( 'terms_of_use' === $key && 0 === strpos( $metadata[$key], 'yright notice.' ) )
$metadata[$key] = 'Cop' . $metadata[$key]; $metadata[$key] = 'Cop' . $metadata[$key];
@ -3028,8 +3028,6 @@ function wp_read_video_metadata( $file ) {
wp_add_id3_tag_data( $metadata, $data ); wp_add_id3_tag_data( $metadata, $data );
$metadata = wp_kses_post_deep( $metadata );
return $metadata; return $metadata;
} }
@ -3075,8 +3073,6 @@ function wp_read_audio_metadata( $file ) {
wp_add_id3_tag_data( $metadata, $data ); wp_add_id3_tag_data( $metadata, $data );
$metadata = wp_kses_post_deep( $metadata );
return $metadata; return $metadata;
} }