summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-06-16 09:38:11 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-06-16 09:38:11 +0000
commit36f7eaf32c40451d2e9cb9432491a1a03bf3780b (patch)
tree5ffbd0303ee71938b5b316870e92958e7c1f19dd /source3/smbd/service.c
parenta54afa45be41a46432470b6fa3f29050f09b47ba (diff)
downloadsamba-36f7eaf32c40451d2e9cb9432491a1a03bf3780b.tar.gz
samba-36f7eaf32c40451d2e9cb9432491a1a03bf3780b.tar.bz2
samba-36f7eaf32c40451d2e9cb9432491a1a03bf3780b.zip
Further updates to the service.c code. authorise_login() is now a bit simpiler
and we seem to have eliminated the segfault. Unfortunetly I'm still at a bit of a loss as to why it did segfault, but the patch is correct in any case. Andrew Bartlett (This used to be commit 70c16188c7a267f9f3f8de0b6830f66c9e68a2c7)
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index 1bb55fbcf8..caf1cef17a 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -360,6 +360,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
fstrcpy(user,pass->pw_name);
conn->force_user = True;
string_set(&conn->user,pass->pw_name);
+ passwd_free(&pass);
DEBUG(3,("Guest only user %s\n",user));
} else if (vuser) {
if (vuser->guest) {
@@ -388,9 +389,10 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
are in share mode security */
add_session_user(lp_servicename(snum));
/* shall we let them in? */
- if (!authorise_login(snum,user,password,&guest,&force)) {
- DEBUG( 2, ( "Invalid username/password for %s [%s]\n",
- lp_servicename(snum), user ) );
+ if (!authorise_login(snum,user,password,&guest)) {
+ DEBUG( 2, ( "Invalid username/password for [%s]\n",
+ lp_servicename(snum)) );
+ conn_free(conn);
*status = NT_STATUS_WRONG_PASSWORD;
return NULL;
}