WordPress.org

Make WordPress Core

Ticket #18007: 18007.4.patch

File 18007.4.patch, 1.4 KB (added by SergeyBiryukov, 6 years 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] )