From efa3ccaffe45d876e8f5552e98df10c797338d91 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 18 May 2016 09:57:17 -0700 Subject: [PATCH] fix crash because of missing error handling --- src/routes/oauth2.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/routes/oauth2.js b/src/routes/oauth2.js index f0022486d..0e02310c4 100644 --- a/src/routes/oauth2.js +++ b/src/routes/oauth2.js @@ -311,11 +311,14 @@ function accountSetup(req, res, next) { user.update(userObject.id, userObject.username, userObject.email, userObject.displayName, auditSource(req), function (error) { if (error && error.reason === UserError.ALREADY_EXISTS) return renderAccountSetupSite(res, req, userObject, 'Username already exists'); + if (error && error.reason === UserError.BAD_USERNAME) return renderAccountSetupSite(res, req, userObject, error.message); + if (error && error.reason === UserError.NOT_FOUND) return renderAccountSetupSite(res, req, userObject, 'No such user'); if (error) return next(new HttpError(500, error)); // setPassword clears the resetToken user.setPassword(userObject.id, req.body.password, function (error, result) { if (error && error.reason === UserError.BAD_PASSWORD) return renderAccountSetupSite(res, req, userObject, 'Password invalid'); + if (error) return next(new HttpError(500, error)); res.redirect(util.format('%s?accessToken=%s&expiresAt=%s', config.adminOrigin(), result.token, result.expiresAt));