From 228d9855e5954192f39ad81ac3a6bddd4ed5f104 Mon Sep 17 00:00:00 2001 From: umherirrender Date: Mon, 13 Apr 2015 21:31:49 +0200 Subject: [PATCH] Handle missing returnto on Special:ChangePassword/ConfirmEmail A missing returnto results in a null passed to Title::newFromText which gives a warning: Notice: Title::newFromText: $text must be a string. This will throw an InvalidArgumentException in future Follow-Up: I2b36b7a3b96b37e29fe06f69c13a185b3ec592a7 Change-Id: I95e6023a2630cbae69f25d63611ebafb8b2bd74c --- includes/specials/SpecialChangeEmail.php | 3 ++- includes/specials/SpecialChangePassword.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/includes/specials/SpecialChangeEmail.php b/includes/specials/SpecialChangeEmail.php index eca307d9a1..3ed3c04eba 100644 --- a/includes/specials/SpecialChangeEmail.php +++ b/includes/specials/SpecialChangeEmail.php @@ -129,7 +129,8 @@ class SpecialChangeEmail extends FormSpecialPage { public function onSuccess() { $request = $this->getRequest(); - $titleObj = Title::newFromText( $request->getVal( 'returnto' ) ); + $returnto = $request->getVal( 'returnto' ); + $titleObj = $returnto !== null ? Title::newFromText( $returnto ) : null; if ( !$titleObj instanceof Title ) { $titleObj = Title::newMainPage(); } diff --git a/includes/specials/SpecialChangePassword.php b/includes/specials/SpecialChangePassword.php index 168095f8ca..6a4347df97 100644 --- a/includes/specials/SpecialChangePassword.php +++ b/includes/specials/SpecialChangePassword.php @@ -179,7 +179,8 @@ class SpecialChangePassword extends FormSpecialPage { } if ( $request->getCheck( 'wpCancel' ) ) { - $titleObj = Title::newFromText( $request->getVal( 'returnto' ) ); + $returnto = $request->getVal( 'returnto' ); + $titleObj = $returnto !== null ? Title::newFromText( $returnto ) : null; if ( !$titleObj instanceof Title ) { $titleObj = Title::newMainPage(); } -- 2.20.1