WordPress.org

Make WordPress Core

Ticket #17129: 17129.diff

File 17129.diff, 699 bytes (added by markjaquith, 3 years ago)
  • wp-includes/functions.php

     
    288288        if ( !is_string( $data ) ) 
    289289                return false; 
    290290        $data = trim( $data ); 
    291         if ( preg_match( '/^s:[0-9]+:.*;$/s', $data ) ) // this should fetch all serialized strings 
     291        $length = strlen( $data ); 
     292        if ( $length < 4 ) 
     293                return false; 
     294        elseif ( ':' !== $data[1] ) 
     295                return false; 
     296        elseif ( ';' !== $data[$length-1] ) 
     297                return false; 
     298        elseif ( $data[0] !== 's' ) 
     299                return false; 
     300        elseif ( '"' !== $data[$length-2] ) 
     301                return false; 
     302        else 
    292303                return true; 
    293         return false; 
    294304} 
    295305 
    296306/**