From bd4206e55ad49a302fa9d35ce58cfcd9d3b75647 Mon Sep 17 00:00:00 2001 From: Sujith H Date: Thu, 13 Sep 2018 14:15:48 +0530 Subject: [PATCH] Fix the token exception classes to avoid infinite loop with getPrevious Fix the users token exception class to avoid infinite loop when getPrevious method is called. Signed-off-by: Sujith H --- lib/Controller/UsersController.php | 2 +- lib/Exception/InvalidUserTokenException.php | 4 ++-- lib/Exception/UserTokenExpiredException.php | 4 ++-- lib/Exception/UserTokenMismatchException.php | 5 +++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/Controller/UsersController.php b/lib/Controller/UsersController.php index 952e34c..2d75edb 100644 --- a/lib/Controller/UsersController.php +++ b/lib/Controller/UsersController.php @@ -527,7 +527,7 @@ public function setPasswordForm($token, $userId) { try { $this->checkPasswordSetToken($token, $userId); } catch (UserTokenException $e) { - if ($e->getPrevious() instanceof UserTokenExpiredException) { + if ($e instanceof UserTokenExpiredException) { return new TemplateResponse( 'user_management', 'new_user/resendtokenbymail', [ diff --git a/lib/Exception/InvalidUserTokenException.php b/lib/Exception/InvalidUserTokenException.php index ecbf103..6d2a1a7 100644 --- a/lib/Exception/InvalidUserTokenException.php +++ b/lib/Exception/InvalidUserTokenException.php @@ -22,7 +22,7 @@ namespace OCA\UserManagement\Exception; class InvalidUserTokenException extends UserTokenException { - public function __construct($message = "", $code = 0) { - parent::__construct($message, $code, $this); + public function __construct($message = "", $code = 0, \Exception $previous = null) { + parent::__construct($message, $code, $previous); } } diff --git a/lib/Exception/UserTokenExpiredException.php b/lib/Exception/UserTokenExpiredException.php index 88fb539..79c84db 100644 --- a/lib/Exception/UserTokenExpiredException.php +++ b/lib/Exception/UserTokenExpiredException.php @@ -22,7 +22,7 @@ namespace OCA\UserManagement\Exception; class UserTokenExpiredException extends UserTokenException { - public function __construct($message = "", $code = 0) { - parent::__construct($message, $code, $this); + public function __construct($message = "", $code = 0, \Exception $previous = null) { + parent::__construct($message, $code, $previous); } } diff --git a/lib/Exception/UserTokenMismatchException.php b/lib/Exception/UserTokenMismatchException.php index b6a5b69..71b683e 100644 --- a/lib/Exception/UserTokenMismatchException.php +++ b/lib/Exception/UserTokenMismatchException.php @@ -22,7 +22,8 @@ namespace OCA\UserManagement\Exception; class UserTokenMismatchException extends UserTokenException { - public function __construct($message = "", $code = 0) { - parent::__construct($message, $code, $this); + public function __construct($message = "", $code = 0, \Exception $previous = null) { + $this->previousException = $this; + parent::__construct($message, $code, $previous); } }