From ce344a28da86c88865854e32c270f4455d179fa1 Mon Sep 17 00:00:00 2001 From: markjaquith Date: Sat, 30 Apr 2011 04:41:56 +0000 Subject: [PATCH] Speed optimizations for is_serialized_string(). fixes #17129 git-svn-id: http://svn.automattic.com/wordpress/trunk@17779 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 5dc9c1275..cc0dbebc7 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -278,9 +278,19 @@ function is_serialized_string( $data ) { if ( !is_string( $data ) ) return false; $data = trim( $data ); - if ( preg_match( '/^s:[0-9]+:.*;$/s', $data ) ) // this should fetch all serialized strings + $length = strlen( $data ); + if ( $length < 4 ) + return false; + elseif ( ':' !== $data[1] ) + return false; + elseif ( ';' !== $data[$length-1] ) + return false; + elseif ( $data[0] !== 's' ) + return false; + elseif ( '"' !== $data[$length-2] ) + return false; + else return true; - return false; } /**