Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 15646)
+++ wp-includes/functions.php	(working copy)
@@ -229,33 +229,41 @@
  */
 function is_serialized( $data ) {
 	// if it isn't a string, it isn't serialized
-	if ( !is_string( $data ) )
+	if ( !is_string( $data ) ) {
 		return false;
+	}
+
 	$data = trim( $data );
- 	if ( 'N;' == $data )
+
+	if ( 'N;' === $data ) {
 		return true;
-	if ( function_exists('strpbrk') ) {
-		if ( strlen($data) > 1 && strpbrk($data,'adObis') == $data && $data[1] == ':' ) {
-			$badions = array();
-			$badions[1] = $data[0];
-		} else {
-			return false;
-		}
-	} elseif ( !preg_match( '/^([adObis]):/', $data, $badions ) ) {
+	}
+
+	$has_token = (
+		strlen( $data ) > 3 
+		&& ':' === $data[1]
+		&& ( $token = $data[0] )
+		&& false !== strpos( 'adObis', $token )
+	);
+
+	if ( !$has_token ) {
 		return false;
 	}
-	switch ( $badions[1] ) {
+
+	switch ( $token ) {
 		case 'a' :
 		case 'O' :
 		case 's' :
-			if ( preg_match( "/^{$badions[1]}:[0-9]+:.*[;}]\$/s", $data ) )
+			if ( preg_match( "/^{$token}:[0-9]+:.*[;}]\$/s", $data ) ) {
 				return true;
+			}
 			break;
 		case 'b' :
 		case 'i' :
 		case 'd' :
-			if ( preg_match( "/^{$badions[1]}:[0-9.E-]+;\$/", $data ) )
+			if ( preg_match( "/^{$token}:[0-9.E-]+;\$/", $data ) ) {
 				return true;
+			}
 			break;
 	}
 	return false;
