Make WordPress Core

Changeset 59064


Ignore:
Timestamp:
09/18/2024 10:35:35 PM (3 weeks ago)
Author:
peterwilsoncc
Message:

Date/Time, PHP Compat: Prevent type errors using GMT offset option.

Prevents a potential type errors when making use of the gmt_offset option by casting the value to a float prior to performing calculations with the value.

This mainly accounts for incorrect storage of values, such as an empty string or city name.

Follow up to [58923].

Props chaion07, hellofromtonya, kirasong, mhshohel, mukesh27, nicolefurlan, nihar007, nurielmeni, oglekler, peterwilsoncc, prionkor, rajinsharwar, rarst, rleeson, sabernhardt, SergeyBiryukov, swissspidy, toastercookie, verygoode.
Fixes #56358, #58986, #60629.

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/update-core.php

    r57793 r59064  
    10971097
    10981098    if ( $current && isset( $current->last_checked ) ) {
    1099         $last_update_check = $current->last_checked + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS;
     1099        $last_update_check = $current->last_checked + (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
    11001100    }
    11011101
  • trunk/src/wp-includes/bookmark-template.php

    r57859 r59064  
    9191                    gmdate(
    9292                        get_option( 'links_updated_date_format' ),
    93                         $bookmark->link_updated_f + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS )
     93                        $bookmark->link_updated_f + (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS )
    9494                    )
    9595                );
  • trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

    r59036 r59064  
    18171817             */
    18181818            if ( '0000-00-00 00:00:00' === $post->post_modified_gmt ) {
    1819                 $post_modified_gmt = gmdate( 'Y-m-d H:i:s', strtotime( $post->post_modified ) - ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
     1819                $post_modified_gmt = gmdate( 'Y-m-d H:i:s', strtotime( $post->post_modified ) - (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
    18201820            } else {
    18211821                $post_modified_gmt = $post->post_modified_gmt;
  • trunk/src/wp-mail.php

    r56596 r59064  
    4545set_transient( 'mailserver_last_checked', true, WP_MAIL_INTERVAL );
    4646
    47 $time_difference = get_option( 'gmt_offset' ) * HOUR_IN_SECONDS;
     47$time_difference = (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
    4848
    4949$phone_delim = '::';
Note: See TracChangeset for help on using the changeset viewer.