summaryrefslogtreecommitdiff
path: root/source3/smbd/password.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r--source3/smbd/password.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index b3005ba082..6b517c3d86 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -837,9 +837,11 @@ bool authorise_login(int snum, fstring user, DATA_BLOB password,
/* check for a normal guest connection */
if (!ok && GUEST_OK(snum)) {
+ struct passwd *guest_pw;
fstring guestname;
fstrcpy(guestname,lp_guestaccount());
- if (Get_Pwnam(guestname)) {
+ guest_pw = Get_Pwnam_alloc(talloc_tos(), guestname);
+ if (guest_pw != NULL) {
fstrcpy(user,guestname);
ok = True;
DEBUG(3,("authorise_login: ACCEPTED: guest account "
@@ -848,6 +850,7 @@ bool authorise_login(int snum, fstring user, DATA_BLOB password,
DEBUG(0,("authorise_login: Invalid guest account "
"%s??\n",guestname));
}
+ TALLOC_FREE(guest_pw);
*guest = True;
}