Ticket #14429: 14429.patch
| File 14429.patch, 1.4 KB (added by , 15 years ago) |
|---|
-
wp-includes/functions.php
229 229 */ 230 230 function is_serialized( $data ) { 231 231 // if it isn't a string, it isn't serialized 232 if ( !is_string( $data ) ) 232 if ( !is_string( $data ) ) { 233 233 return false; 234 } 235 234 236 $data = trim( $data ); 235 if ( 'N;' == $data ) 237 238 if ( 'N;' === $data ) { 236 239 return true; 237 if ( function_exists('strpbrk') ) { 238 if ( strlen($data) > 1 && strpbrk($data,'adObis') == $data && $data[1] == ':' ) { 239 $badions = array(); 240 $badions[1] = $data[0]; 241 } else { 242 return false; 243 } 244 } elseif ( !preg_match( '/^([adObis]):/', $data, $badions ) ) { 240 } 241 242 $has_token = ( 243 strlen( $data ) > 3 244 && ':' === $data[1] 245 && ( $token = $data[0] ) 246 && false !== strpos('adObis', $token) 247 ); 248 249 if ( !$has_token ) { 245 250 return false; 246 251 } 247 switch ( $badions[1] ) { 252 253 switch ( $token ) { 248 254 case 'a' : 249 255 case 'O' : 250 256 case 's' : 251 if ( preg_match( "/^{$ badions[1]}:[0-9]+:.*[;}]\$/s", $data ) )257 if ( preg_match( "/^{$token}:[0-9]+:.*[;}]\$/s", $data ) ) { 252 258 return true; 259 } 253 260 break; 254 261 case 'b' : 255 262 case 'i' : 256 263 case 'd' : 257 if ( preg_match( "/^{$ badions[1]}:[0-9.E-]+;\$/", $data ) )264 if ( preg_match( "/^{$token}:[0-9.E-]+;\$/", $data ) ) { 258 265 return true; 266 } 259 267 break; 260 268 } 261 269 return false;