WordPress.org

Make WordPress Core

Ticket #31600: 31600-incr_decr_offset_type_check.diff

File 31600-incr_decr_offset_type_check.diff, 873 bytes (added by jipmoors, 3 years ago)

Type check on offset

  • src/wp-includes/cache.php

     
    435435                if ( ! is_numeric( $this->cache[ $group ][ $key ] ) ) 
    436436                        $this->cache[ $group ][ $key ] = 0; 
    437437 
     438                if ( ! is_numeric( $offset ) ) { 
     439                        if ( is_string( $offset ) ) { 
     440                                $offset = (int) $offset; 
     441                        } else { 
     442                                $offset = 0; 
     443                        } 
     444                } 
     445 
    438446                $offset = (int) $offset; 
    439447 
    440448                $this->cache[ $group ][ $key ] -= $offset; 
     
    546554                if ( ! is_numeric( $this->cache[ $group ][ $key ] ) ) 
    547555                        $this->cache[ $group ][ $key ] = 0; 
    548556 
     557                if ( ! is_numeric( $offset ) ) { 
     558                        if ( is_string( $offset ) ) { 
     559                                $offset = (int) $offset; 
     560                        } else { 
     561                                $offset = 0; 
     562                        } 
     563                } 
     564 
    549565                $offset = (int) $offset; 
    550566 
    551567                $this->cache[ $group ][ $key ] += $offset;