From: Alan T. DeKok Date: Mon, 5 Oct 2015 13:30:16 +0000 (-0400) Subject: Check for smb_ctrl X-Git-Tag: release_3_0_10~3 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=da02c86ab5c2d3fadfa27b4a2aa9f5ed55be2807 Check for smb_ctrl --- diff --git a/src/modules/rlm_mschap/rlm_mschap.c b/src/modules/rlm_mschap/rlm_mschap.c index 5392d5c..33aee17 100644 --- a/src/modules/rlm_mschap/rlm_mschap.c +++ b/src/modules/rlm_mschap/rlm_mschap.c @@ -1392,7 +1392,7 @@ static rlm_rcode_t mschap_error(rlm_mschap_t *inst, REQUEST *request, unsigned c char new_challenge[33], buffer[128]; char *p; - if ((smb_ctrl->vp_integer & ACB_PW_EXPIRED) || (mschap_result == -648)) { + if ((smb_ctrl && ((smb_ctrl->vp_integer & ACB_PW_EXPIRED) != 0)) || (mschap_result == -648)) { REDEBUG("Password has expired. User should retry authentication"); error = 648; retry = inst->allow_retry ? 1 : 0; @@ -1411,8 +1411,8 @@ static rlm_rcode_t mschap_error(rlm_mschap_t *inst, REQUEST *request, unsigned c * They're found, but they don't exist, so we * return 'not found'. */ - } else if (((smb_ctrl->vp_integer & ACB_DISABLED) != 0) || - ((smb_ctrl->vp_integer & (ACB_NORMAL|ACB_WSTRUST)) == 0)) { + } else if (smb_ctrl && (((smb_ctrl->vp_integer & ACB_DISABLED) != 0) || + ((smb_ctrl->vp_integer & (ACB_NORMAL|ACB_WSTRUST)) == 0))) { REDEBUG("SMB-Account-Ctrl says that the account is disabled, or is not a normal " "or workstation trust account"); error = 691; @@ -1422,7 +1422,7 @@ static rlm_rcode_t mschap_error(rlm_mschap_t *inst, REQUEST *request, unsigned c /* * User is locked out. */ - } else if ((smb_ctrl->vp_integer & ACB_AUTOLOCK) != 0) { + } else if (smb_ctrl && ((smb_ctrl->vp_integer & ACB_AUTOLOCK) != 0)) { REDEBUG("SMB-Account-Ctrl says that the account is locked out"); error = 647; retry = 0;