Make WordPress Core

Ticket #13905: 13905.3.diff

File 13905.3.diff, 1.6 KB (added by nerrad, 9 years ago)

add sanity checks for result from get_post()

  • src/wp-includes/capabilities.php

    diff --git src/wp-includes/capabilities.php src/wp-includes/capabilities.php
    index 3172cbf..fae327f 100644
    function map_meta_cap( $cap, $user_id ) { 
    10711071        case 'delete_post':
    10721072        case 'delete_page':
    10731073                $post = get_post( $args[0] );
     1074                if ( empty( $post ) ) {
     1075                        break;
     1076                }
    10741077
    10751078                if ( 'revision' == $post->post_type ) {
    10761079                        $post = get_post( $post->post_parent );
    function map_meta_cap( $cap, $user_id ) { 
    11151118        case 'edit_post':
    11161119        case 'edit_page':
    11171120                $post = get_post( $args[0] );
    1118                 if ( empty( $post ) )
     1121                if ( empty( $post ) ) {
    11191122                        break;
     1123                }
    11201124
    11211125                if ( 'revision' == $post->post_type ) {
    11221126                        $post = get_post( $post->post_parent );
    function map_meta_cap( $cap, $user_id ) { 
    11591163        case 'read_post':
    11601164        case 'read_page':
    11611165                $post = get_post( $args[0] );
     1166                if ( empty( $post ) ) {
     1167                        break;
     1168                }
    11621169
    11631170                if ( 'revision' == $post->post_type ) {
    11641171                        $post = get_post( $post->post_parent );
    function map_meta_cap( $cap, $user_id ) { 
    11901197                break;
    11911198        case 'publish_post':
    11921199                $post = get_post( $args[0] );
     1200                if ( empty( $post ) ) {
     1201                        break;
     1202                }
    11931203                $post_type = get_post_type_object( $post->post_type );
    11941204
    11951205                $caps[] = $post_type->cap->publish_posts;
    function map_meta_cap( $cap, $user_id ) { 
    11981208        case 'delete_post_meta':
    11991209        case 'add_post_meta':
    12001210                $post = get_post( $args[0] );
     1211                if ( empty( $post ) ) {
     1212                        break;
     1213                }
    12011214                $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
    12021215
    12031216                $meta_key = isset( $args[ 1 ] ) ? $args[ 1 ] : false;