Move Title null check in Special:RevisionDelete
authorumherirrender <umherirrender_de.wp@web.de>
Wed, 3 Jun 2015 19:16:41 +0000 (21:16 +0200)
committerumherirrender <umherirrender_de.wp@web.de>
Wed, 3 Jun 2015 19:17:33 +0000 (21:17 +0200)
The property $this->targetObj was used before null check in
SpecialRevisionDelete::getList

Move up the existing null check to avoid the fatal:

Catchable fatal error: Argument 3 passed to
RevisionDeleter::createList() must be an instance of Title, null given,
called in \includes\specials\SpecialRevisiondelete.php on line 354 and
defined in \includes\revisiondelete\RevisionDeleter.php on line 83

On request with an unknown rev id

Follow-Up: Ic078af5417798db1b2900057dbf7514112e94b46
Bug: T96538
Change-Id: I0c7913ecb11ffce844add7b1f3b810d54c367519

includes/specials/SpecialRevisiondelete.php

index 5bd3a29..7e842d5 100644 (file)
@@ -158,6 +158,13 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                        $this->ids
                );
 
+               # We need a target page!
+               if ( $this->targetObj === null ) {
+                       $output->addWikiMsg( 'undelete-header' );
+
+                       return;
+               }
+
                $this->typeLabels = self::$UILabels[$this->typeName];
                $list = $this->getList();
                $list->reset();
@@ -169,12 +176,6 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $this->mIsAllowed = $this->mIsAllowed && !( $canViewSuppressedOnly && $pageIsSuppressed );
 
                $this->otherReason = $request->getVal( 'wpReason' );
-               # We need a target page!
-               if ( is_null( $this->targetObj ) ) {
-                       $output->addWikiMsg( 'undelete-header' );
-
-                       return;
-               }
                # Give a link to the logs/hist for this page
                $this->showConvenienceLinks();