WordPress.org

Make WordPress Core

Ticket #18007: 18007.4.patch

File 18007.4.patch, 1.4 KB (added by SergeyBiryukov, 18 months ago)
  • wp-includes/functions.php

     
    245245 * @return bool False if not serialized and true if it was. 
    246246 */ 
    247247function is_serialized( $data ) { 
     248        static $is_overloaded; 
     249 
     250        if ( ! isset( $is_overloaded ) ) 
     251                $is_overloaded = ( ( ini_get( 'mbstring.func_overload' ) & 2 ) != 0 ) && function_exists( 'mb_strlen' ); 
     252 
    248253        // if it isn't a string, it isn't serialized 
    249254        if ( ! is_string( $data ) ) 
    250255                return false; 
    251256        $data = trim( $data ); 
    252257        if ( 'N;' == $data ) 
    253258                return true; 
    254         $length = strlen( $data ); 
     259        $length = ( $is_overloaded ) ? mb_strlen( $data, 'pass' ) : strlen( $data ); 
    255260        if ( $length < 4 ) 
    256261                return false; 
    257262        if ( ':' !== $data[1] ) 
     
    284289 * @return bool False if not a serialized string, true if it is. 
    285290 */ 
    286291function is_serialized_string( $data ) { 
     292        static $is_overloaded; 
     293 
     294        if ( ! isset( $is_overloaded ) ) 
     295                $is_overloaded = ( ( ini_get( 'mbstring.func_overload' ) & 2 ) != 0 ) && function_exists( 'mb_strlen' ); 
     296 
    287297        // if it isn't a string, it isn't a serialized string 
    288298        if ( !is_string( $data ) ) 
    289299                return false; 
    290300        $data = trim( $data ); 
    291         $length = strlen( $data ); 
     301        $length = ( $is_overloaded ) ? mb_strlen( $data, 'pass' ) : strlen( $data ); 
    292302        if ( $length < 4 ) 
    293303                return false; 
    294304        elseif ( ':' !== $data[1] )