diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/chgpasswd.c | 4 | ||||
-rw-r--r-- | source3/smbd/ipc.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source3/smbd/chgpasswd.c b/source3/smbd/chgpasswd.c index d900b54c1f..ece3107257 100644 --- a/source3/smbd/chgpasswd.c +++ b/source3/smbd/chgpasswd.c @@ -427,13 +427,13 @@ BOOL chgpasswd(char *name,char *oldpass,char *newpass, BOOL as_root) return(chat_with_program(passwordprogram,name,chatsequence, as_root)); } -#else +#else /* ALLOW_CHANGE_PASSWORD */ BOOL chgpasswd(char *name,char *oldpass,char *newpass, BOOL as_root) { DEBUG(0,("Password changing not compiled in (user=%s)\n",name)); return(False); } -#endif +#endif /* ALLOW_CHANGE_PASSWORD */ /*********************************************************** Code to check the lanman hashed password. diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c index 7b82894c7f..132fdb30ef 100644 --- a/source3/smbd/ipc.c +++ b/source3/smbd/ipc.c @@ -1677,6 +1677,7 @@ static BOOL api_SamOEMChangePassword(int cnum,uint16 vuid, char *param,char *dat fstring new_passwd; struct smb_passwd *sampw = NULL; char *p = param + 2; + int ret = True; *rparam_len = 2; *rparam = REALLOC(*rparam,*rparam_len); @@ -1718,9 +1719,9 @@ static BOOL api_SamOEMChangePassword(int cnum,uint16 vuid, char *param,char *dat */ if(lp_unix_password_sync()) - chgpasswd(user,"", new_passwd, True); + ret = chgpasswd(user,"", new_passwd, True); - if(change_oem_password( sampw, new_passwd, False)) { + if(ret && change_oem_password( sampw, new_passwd, False)) { SSVAL(*rparam,0,NERR_Success); } |