diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/smbd/ipc.c | 5 | ||||
-rw-r--r-- | source/smbd/password.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c index 12a086c98c7..2b377ec9f74 100644 --- a/source/smbd/ipc.c +++ b/source/smbd/ipc.c @@ -371,7 +371,10 @@ va_dcl #endif stringneeded = -1; - if (!p->curpos) return(0); + if (!p->curpos) { + va_end(args); + return(0); + } switch( *p->curpos++ ) { case 'W': /* word (2 byte) */ diff --git a/source/smbd/password.c b/source/smbd/password.c index 0181188ca24..f42b790e4a5 100644 --- a/source/smbd/password.c +++ b/source/smbd/password.c @@ -322,7 +322,13 @@ static BOOL update_smbpassword_file(char *user, char *password) DEBUG(0,("getsmbpwnam returned NULL\n")); return False; } - + + /* + * Remove the account disabled flag - we are updating the + * users password from a login. + */ + smbpw->acct_ctrl &= ~ACB_DISABLED; + /* Here, the flag is one, because we want to ignore the XXXXXXX'd out password */ ret = change_oem_password( smbpw, password, True); |