WordPress.org

Make WordPress Core

Ticket #14429: 14429-strpbrk.3.patch

File 14429-strpbrk.3.patch, 930 bytes (added by hakre, 8 years ago)

Based on [15636], as previous and uses strlen check for both (w and w/o strpbrk()) cases.

  • wp-includes/functions.php

     
    228228 * @return bool False if not serialized and true if it was.
    229229 */
    230230function is_serialized( $data ) {
     231        static $strpbrk_exists;
    231232        // if it isn't a string, it isn't serialized
    232233        if ( !is_string( $data ) )
    233234                return false;
    234235        $data = trim( $data );
    235236        if ( 'N;' == $data )
    236237                return true;
    237         if ( function_exists('strpbrk') ) {
    238                 if ( strlen($data) > 1 && strpbrk($data,'adObis') == $data && $data[1] == ':' ) {
    239                         $badions = array();
     238        if ( strlen( $data ) < 4 )
     239                return false;
     240        isset( $strpbrk_exists ) || $strpbrk_exists = function_exists( 'strpbrk' );
     241        if ( $strpbrk_exists ) {
     242                if ( strpbrk( $data, 'adObis' ) === $data && ':' === $data[1] ) {
    240243                        $badions[1] = $data[0];
    241244                } else {
    242245                        return false;