From f07882dfba42efbe3de3391652d856bf0f87cc61 Mon Sep 17 00:00:00 2001 From: nacin Date: Fri, 16 Apr 2010 19:48:30 +0000 Subject: [PATCH] Some sanity checks for parse_url in do_enclose. props miqrogroove, fixes #11029 git-svn-id: http://svn.automattic.com/wordpress/trunk@14116 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 15f5160cb0..fa64e21bce 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -1197,7 +1197,9 @@ function do_enclose( $content, $post_ID ) { foreach ( (array) $post_links_temp[0] as $link_test ) { if ( !in_array( $link_test, $pung ) ) { // If we haven't pung it already - $test = parse_url( $link_test ); + $test = @parse_url( $link_test ); + if ( false === $test ) + continue; if ( isset( $test['query'] ) ) $post_links[] = $link_test; elseif ( $test['path'] != '/' && $test['path'] != '' ) @@ -1215,13 +1217,15 @@ function do_enclose( $content, $post_ID ) { // Check to see if we can figure out the mime type from // the extension - $url_parts = parse_url( $url ); - $extension = pathinfo( $url_parts['path'], PATHINFO_EXTENSION ); - if ( !empty( $extension ) ) { - foreach ( get_allowed_mime_types( ) as $exts => $mime ) { - if ( preg_match( '!^(' . $exts . ')$!i', $extension ) ) { - $type = $mime; - break; + $url_parts = @parse_url( $url ); + if ( false !== $url_parts ) { + $extension = pathinfo( $url_parts['path'], PATHINFO_EXTENSION ); + if ( !empty( $extension ) ) { + foreach ( get_allowed_mime_types( ) as $exts => $mime ) { + if ( preg_match( '!^(' . $exts . ')$!i', $extension ) ) { + $type = $mime; + break; + } } } }