diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 4d8af4dc19..c3e02458e1 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -7176,6 +7176,7 @@ void smb3_Init() cm_user_t *smb_FindCMUserByName(char *usern, char *machine) { smb_username_t *unp; + cm_user_t * userp; unp = smb_FindUserByName(usern, machine, SMB_FLAG_CREATE); if (!unp->userp) { @@ -7188,8 +7189,9 @@ cm_user_t *smb_FindCMUserByName(char *usern, char *machine) osi_Log2(smb_logp,"smb_FindCMUserByName Not found name[%s] machine[%s]",osi_LogSaveString(smb_logp,usern),osi_LogSaveString(smb_logp,machine)); osi_LogEvent("AFS smb_FindCMUserByName : Found",NULL,"name[%s] machine[%s]",usern,machine); } - cm_HoldUser(unp->userp); + userp = unp->userp; + cm_HoldUser(userp); smb_ReleaseUsername(unp); - return unp->userp; + return userp; }