summaryrefslogtreecommitdiffstats
path: root/source3/smbd
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2010-07-16 18:23:55 -0400
committerAndrew Bartlett <abartlet@samba.org>2010-07-19 14:20:00 +1000
commite60ed80754f1f51c74bc338cc3a81d12f49d9687 (patch)
treee6a68ce556399746cb05e0bdb3c7ff338cf00162 /source3/smbd
parente4bd6eb72fba92c0b0a3e5e636e5312629758bc1 (diff)
downloadsamba-e60ed80754f1f51c74bc338cc3a81d12f49d9687.tar.gz
samba-e60ed80754f1f51c74bc338cc3a81d12f49d9687.tar.xz
samba-e60ed80754f1f51c74bc338cc3a81d12f49d9687.zip
s3-auth: Simplify how we free the auth_context
Turn the freeing function into a destructor and attach it to the auth_context. Make all callers TALLOC_FREE() the auth_context instead of calling the free function. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/negprot.c3
-rw-r--r--source3/smbd/server_exit.c3
-rw-r--r--source3/smbd/sesssetup.c7
3 files changed, 5 insertions, 8 deletions
diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c
index 755d3d9718..4d73216854 100644
--- a/source3/smbd/negprot.c
+++ b/source3/smbd/negprot.c
@@ -33,8 +33,7 @@ static void get_challenge(struct smbd_server_connection *sconn, uint8 buff[8])
if (sconn->smb1.negprot.auth_context) {
DEBUG(3, ("get challenge: is this a secondary negprot? "
"sconn->negprot.auth_context is non-NULL!\n"));
- sconn->smb1.negprot.auth_context->free(
- &sconn->smb1.negprot.auth_context);
+ TALLOC_FREE(sconn->smb1.negprot.auth_context);
}
DEBUG(10, ("get challenge: creating negprot_global_auth_context\n"));
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index 97394aea96..1a330994b8 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -75,8 +75,7 @@ static void exit_server_common(enum server_exit_reason how,
change_to_root_user();
if (sconn && sconn->smb1.negprot.auth_context) {
- struct auth_context *a = sconn->smb1.negprot.auth_context;
- a->free(&sconn->smb1.negprot.auth_context);
+ TALLOC_FREE(sconn->smb1.negprot.auth_context);
}
if (lp_log_writeable_files_on_exit()) {
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index 52fcd282a6..525bcafd09 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/smbd/sesssetup.c
@@ -150,14 +150,14 @@ static NTSTATUS check_guest_password(struct auth_serversupplied_info **server_in
}
if (!make_user_info_guest(&user_info)) {
- (auth_context->free)(&auth_context);
+ TALLOC_FREE(auth_context);
return NT_STATUS_NO_MEMORY;
}
nt_status = auth_context->check_ntlm_password(auth_context,
user_info,
server_info);
- (auth_context->free)(&auth_context);
+ TALLOC_FREE(auth_context);
free_user_info(&user_info);
return nt_status;
}
@@ -1751,8 +1751,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
user_info,
&server_info);
- (plaintext_auth_context->free)(
- &plaintext_auth_context);
+ TALLOC_FREE(plaintext_auth_context);
}
}
}