summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_sesssetup.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-07-20 13:35:43 -0700
committerJeremy Allison <jra@samba.org>2010-07-20 13:35:43 -0700
commit4ed9437b7e24365b9acd179b6553793db95a4c54 (patch)
treebe148ed36f2f057a596e366b35e5b99380b1d370 /source3/smbd/smb2_sesssetup.c
parentdc443ee6e9e97c08bcceaa1cbc155635e73e8118 (diff)
downloadsamba-4ed9437b7e24365b9acd179b6553793db95a4c54.tar.gz
samba-4ed9437b7e24365b9acd179b6553793db95a4c54.tar.bz2
samba-4ed9437b7e24365b9acd179b6553793db95a4c54.zip
Add TALLOC_CTX argument to spnego_parse_negTokenInit, reduce
use of malloc, and data_blob(). Jeremy.
Diffstat (limited to 'source3/smbd/smb2_sesssetup.c')
-rw-r--r--source3/smbd/smb2_sesssetup.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c
index a8172d3ee3..e8c69eaad5 100644
--- a/source3/smbd/smb2_sesssetup.c
+++ b/source3/smbd/smb2_sesssetup.c
@@ -553,7 +553,7 @@ static NTSTATUS smbd_smb2_spnego_negotiate(struct smbd_smb2_session *session,
/* Ensure we have no old NTLM state around. */
TALLOC_FREE(session->auth_ntlmssp_state);
- status = parse_spnego_mechanisms(in_security_buffer,
+ status = parse_spnego_mechanisms(talloc_tos(), in_security_buffer,
&secblob_in, &kerb_mech);
if (!NT_STATUS_IS_OK(status)) {
goto out;
@@ -618,7 +618,7 @@ static NTSTATUS smbd_smb2_spnego_negotiate(struct smbd_smb2_session *session,
data_blob_free(&secblob_in);
data_blob_free(&secblob_out);
data_blob_free(&chal_out);
- SAFE_FREE(kerb_mech);
+ TALLOC_FREE(kerb_mech);
if (!NT_STATUS_IS_OK(status) &&
!NT_STATUS_EQUAL(status,
NT_STATUS_MORE_PROCESSING_REQUIRED)) {
@@ -730,7 +730,8 @@ static NTSTATUS smbd_smb2_spnego_auth(struct smbd_smb2_session *session,
DATA_BLOB secblob_in = data_blob_null;
char *kerb_mech = NULL;
- status = parse_spnego_mechanisms(in_security_buffer,
+ status = parse_spnego_mechanisms(talloc_tos(),
+ in_security_buffer,
&secblob_in, &kerb_mech);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(session);
@@ -750,7 +751,7 @@ static NTSTATUS smbd_smb2_spnego_auth(struct smbd_smb2_session *session,
out_session_id);
data_blob_free(&secblob_in);
- SAFE_FREE(kerb_mech);
+ TALLOC_FREE(kerb_mech);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(session);
}
@@ -768,7 +769,7 @@ static NTSTATUS smbd_smb2_spnego_auth(struct smbd_smb2_session *session,
"not enabled\n"));
TALLOC_FREE(session);
data_blob_free(&secblob_in);
- SAFE_FREE(kerb_mech);
+ TALLOC_FREE(kerb_mech);
return NT_STATUS_LOGON_FAILURE;
}