add assert to find null pointer exception in checkEmail

This commit is contained in:
Dario 2020-07-14 19:33:44 +02:00
parent ddaad461d1
commit 42c6c5c82e
3 changed files with 7 additions and 3 deletions

View File

@ -323,7 +323,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::handleCheckEmail(Sessi
if (session) {
auto user_host = request.clientAddress().host();
session->setClientIp(user_host);
assert(session->getUser());
if (session->getUser()->isEmptyPassword()) {
// user has no password, maybe account created from elopage webhook
auto pageRequestHandler = new UpdateUserPasswordPage(session);

View File

@ -349,7 +349,7 @@ Session* SessionManager::findByEmailVerificationCode(const Poco::UInt64& emailVe
auto email_verification = controller::EmailVerificationCode::load(emailVerificationCode);
if (email_verification.isNull()) return nullptr;
auto email_verification_model = email_verification->getModel();
assert(email_verification_model->getUserId() > 0);
assert(email_verification_model && email_verification_model->getUserId() > 0);
auto session = findByUserId(email_verification_model->getUserId());
if (session) {
@ -372,6 +372,7 @@ Session* SessionManager::findByUserId(int userId)
//mWorkingMutex.lock();
for (auto it = mRequestSessionMap.begin(); it != mRequestSessionMap.end(); it++) {
auto user = it->second->getNewUser();
assert(user && user->getModel() && user->getModel()->getID());
if (userId == user->getModel()->getID()) {
return it->second;
}

View File

@ -429,6 +429,7 @@ int Session::updateEmailVerification(Poco::UInt64 emailVerificationCode)
return -2;
}
auto email_verification_code_model = mEmailVerificationCodeObject->getModel();
assert(email_verification_code_model);
if(email_verification_code_model->getCode() == emailVerificationCode) {
if (mSessionUser && mSessionUser->getDBId() == 0) {
//addError(new Error("E-Mail Verification", "Benutzer wurde nicht richtig gespeichert, bitte wende dich an den Server-Admin"));
@ -440,7 +441,7 @@ int Session::updateEmailVerification(Poco::UInt64 emailVerificationCode)
}
// load correct user from db
if (mNewUser.isNull() || mNewUser->getModel()->getID() != email_verification_code_model->getUserId()) {
if (mNewUser.isNull() || !mNewUser->getModel() || mNewUser->getModel()->getID() != email_verification_code_model->getUserId()) {
mNewUser = controller::User::create();
if (1 != mNewUser->load(email_verification_code_model->getUserId())) {
em->addError(new ParamError(funcName, "user load didn't return 1 with user_id ", email_verification_code_model->getUserId()));
@ -451,6 +452,7 @@ int Session::updateEmailVerification(Poco::UInt64 emailVerificationCode)
}
auto user_model = mNewUser->getModel();
assert(user_model);
bool first_email_activation = false;
auto verification_type = email_verification_code_model->getType();
if (model::table::EMAIL_OPT_IN_REGISTER == verification_type ||
@ -1024,6 +1026,7 @@ bool Session::loadFromEmailVerificationCode(Poco::UInt64 emailVerificationCode)
}
mNewUser = controller::User::create();
assert(mEmailVerificationCodeObject->getModel() && mEmailVerificationCodeObject->getModel()->getUserId());
mNewUser->load(mEmailVerificationCodeObject->getModel()->getUserId());
if (mNewUser->getModel()->errorCount() > 0) {
mNewUser->getModel()->sendErrorsAsEmail();