summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-12-20 09:32:03 +0000
committerAndrew Tridgell <tridge@samba.org>2001-12-20 09:32:03 +0000
commitee161a57289409e2fa43e33b045473077c7b6ba5 (patch)
treef2e402545bcc9783c71153d019dc37d5595fec57
parente873d0ff1eee9442ff6152d666b8d874b6a01972 (diff)
downloadsamba-ee161a57289409e2fa43e33b045473077c7b6ba5.tar.gz
don't use server_info after its been freed
-rw-r--r--source/smbd/sesssetup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/smbd/sesssetup.c b/source/smbd/sesssetup.c
index 7fd0fd917aa..8424e0e186d 100644
--- a/source/smbd/sesssetup.c
+++ b/source/smbd/sesssetup.c
@@ -325,6 +325,7 @@ static int reply_spnego_auth(connection_struct *conn, char *inbuf, char *outbuf,
uint32 ntlmssp_command, neg_flags;
NTSTATUS nt_status;
int sess_vuid;
+ BOOL as_guest;
auth_usersupplied_info *user_info = NULL;
auth_serversupplied_info *server_info = NULL;
@@ -392,8 +393,9 @@ static int reply_spnego_auth(connection_struct *conn, char *inbuf, char *outbuf,
return ERROR_NT(nt_status_squash(nt_status));
}
- sess_vuid = register_vuid(server_info, user);
+ as_guest = server_info->guest;
+ sess_vuid = register_vuid(server_info, user);
free_server_info(&server_info);
SAFE_FREE(user);
@@ -405,7 +407,7 @@ static int reply_spnego_auth(connection_struct *conn, char *inbuf, char *outbuf,
set_message(outbuf,4,0,True);
SSVAL(outbuf, smb_vwv3, 0);
- if (server_info->guest) {
+ if (as_guest) {
SSVAL(outbuf,smb_vwv2,1);
}