WordPress.org

Make WordPress Core

Ticket #11168: 11168.diff

File 11168.diff, 2.2 KB (added by scribu, 4 years ago)

Don't call destruct() if is_wp_error($rss)

  • wp-includes/default-widgets.php

     
    772772        if ( is_wp_error($rss) ) { 
    773773                if ( is_admin() || current_user_can('manage_options') ) 
    774774                        echo '<p>' . sprintf( __('<strong>RSS Error</strong>: %s'), $rss->get_error_message() ) . '</p>'; 
    775                 $rss->__destruct();  
    776                 unset($rss); 
    777775                return; 
    778776        } 
    779777 
     
    953951                        $link = esc_url(strip_tags($rss->get_permalink())); 
    954952                        while ( stristr($link, 'http') != $link ) 
    955953                                $link = substr($link, 1); 
     954 
     955                        $rss->__destruct(); 
     956                        unset($rss); 
    956957                } 
    957                 $rss->__destruct();  
    958                 unset($rss); 
    959958        } 
    960959 
    961960        return compact( 'title', 'url', 'link', 'items', 'error', 'show_summary', 'show_author', 'show_date' ); 
  • wp-admin/includes/dashboard.php

     
    624624                        printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message()); 
    625625                        echo '</p>'; 
    626626                } 
    627                 $rss->__destruct();  
    628                 unset($rss); 
    629627                return; 
    630628        } 
    631629 
     
    742740                        printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message()); 
    743741                        echo '</p></div>'; 
    744742                } 
    745                 $rss->__destruct();  
    746                 unset($rss); 
    747743        } elseif ( !$rss->get_item_quantity() ) { 
    748744                $rss->__destruct();  
    749745                unset($rss); 
     
    932928                // title is optional.  If black, fill it if possible 
    933929                if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) { 
    934930                        $rss = fetch_feed($widget_options[$widget_id]['url']); 
    935                         if ( ! is_wp_error($rss) ) 
    936                                 $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title())); 
    937                         else 
     931                        if ( is_wp_error($rss) ) { 
    938932                                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed')); 
    939                         $rss->__destruct();  
    940                         unset($rss); 
     933                        } else { 
     934                                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));      
     935                                $rss->__destruct(); 
     936                                unset($rss);                             
     937                        } 
    941938                } 
    942939                update_option( 'dashboard_widget_options', $widget_options ); 
    943940        }