Ticket #14429: faster-is_serialized.diff
| File faster-is_serialized.diff, 1.0 KB (added by , 16 years ago) |
|---|
-
wp-includes/functions.php
232 232 if ( !is_string( $data ) ) 233 233 return false; 234 234 $data = trim( $data ); 235 if ( empty($data) ) 236 return false; 235 237 if ( 'N;' == $data ) 236 238 return true; 237 if ( !preg_match( '/^([adObis]):/', $data, $badions) )239 if ( ':' !== substr( $data, 1, 1 ) ) 238 240 return false; 239 switch ( $badions[1] ) { 241 $badion = substr( $data, 0, 1 ); 242 if ( !in_array( $badion, array( 'a', 'd', 'O', 'b', 'i', 's' ) ) ) 243 return false; 244 switch ( $badion ) { 240 245 case 'a' : 241 246 case 'O' : 242 247 case 's' : 243 if ( preg_match( "/^{$badion s[1]}:[0-9]+:.*[;}]\$/s", $data ) )248 if ( preg_match( "/^{$badion}:[0-9]+:.*[;}]\$/s", $data ) ) 244 249 return true; 245 250 break; 246 251 case 'b' : 247 252 case 'i' : 248 253 case 'd' : 249 if ( preg_match( "/^{$badion s[1]}:[0-9.E-]+;\$/", $data ) )254 if ( preg_match( "/^{$badion}:[0-9.E-]+;\$/", $data ) ) 250 255 return true; 251 256 break; 252 257 }