summaryrefslogtreecommitdiff
path: root/auth/credentials
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2016-12-07 17:17:44 +0100
committerAndreas Schneider <asn@cryptomilk.org>2016-12-09 09:24:27 +0100
commit182d5e73a9f0435c19a1723af785cae0d410d697 (patch)
treeed720526e1b113e7394ed6382e2e96d4e848d195 /auth/credentials
parent4c9462f93b2e88c2da39320ababfb95d20b02185 (diff)
downloadsamba-182d5e73a9f0435c19a1723af785cae0d410d697.tar.gz
auth/credentials: clear all unused blobs in cli_credentials_get_ntlm_response()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'auth/credentials')
-rw-r--r--auth/credentials/credentials_ntlm.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/auth/credentials/credentials_ntlm.c b/auth/credentials/credentials_ntlm.c
index 3603647b937..2a4c1413501 100644
--- a/auth/credentials/credentials_ntlm.c
+++ b/auth/credentials/credentials_ntlm.c
@@ -261,21 +261,29 @@ _PUBLIC_ NTSTATUS cli_credentials_get_ntlm_response(struct cli_credentials *cred
}
done:
- if (_lm_response) {
+ if (_lm_response != NULL) {
talloc_steal(mem_ctx, lm_response.data);
*_lm_response = lm_response;
+ } else {
+ data_blob_clear(&lm_response);
}
- if (_nt_response) {
+ if (_nt_response != NULL) {
talloc_steal(mem_ctx, nt_response.data);
*_nt_response = nt_response;
+ } else {
+ data_blob_clear(&nt_response);
}
- if (_lm_session_key) {
+ if (_lm_session_key != NULL) {
talloc_steal(mem_ctx, lm_session_key.data);
*_lm_session_key = lm_session_key;
+ } else {
+ data_blob_clear(&lm_session_key);
}
- if (_session_key) {
+ if (_session_key != NULL) {
talloc_steal(mem_ctx, session_key.data);
*_session_key = session_key;
+ } else {
+ data_blob_clear(&session_key);
}
TALLOC_FREE(frame);
return NT_STATUS_OK;