Ticket #14429: 14429-strpbrk.8.patch
| File 14429-strpbrk.8.patch, 1.2 KB (added by , 15 years ago) |
|---|
-
wp-includes/functions.php
234 234 $data = trim( $data ); 235 235 if ( 'N;' == $data ) 236 236 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 ) ) { 237 if ( strlen( $data ) < 4 ) 245 238 return false; 246 } 247 switch ( $badions[1] ) { 239 if ( ':' !== $data[1] ) 240 return false; 241 $token = $data[0]; 242 if ( false === strpos( 'adObis', $token ) ) 243 return false; 244 switch ( $token ) { 248 245 case 'a' : 249 246 case 'O' : 250 247 case 's' : 251 if ( preg_match( "/^{$ badions[1]}:[0-9]+:.*[;}]\$/s", $data ) )248 if ( preg_match( "/^{$token}:[0-9]+:.*[;}]\$/s", $data ) ) 252 249 return true; 253 250 break; 254 251 case 'b' : 255 252 case 'i' : 256 253 case 'd' : 257 if ( preg_match( "/^{$ badions[1]}:[0-9.E-]+;\$/", $data ) )254 if ( preg_match( "/^{$token}:[0-9.E-]+;\$/", $data ) ) 258 255 return true; 259 256 break; 260 257 }