summaryrefslogtreecommitdiffstats
path: root/source/smbd
diff options
context:
space:
mode:
Diffstat (limited to 'source/smbd')
-rw-r--r--source/smbd/ipc.c5
-rw-r--r--source/smbd/password.c8
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);