auth/credentials: clear all unused blobs in cli_credentials_get_ntlm_response()
authorStefan Metzmacher <metze@samba.org>
Wed, 7 Dec 2016 16:17:44 +0000 (17:17 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 9 Dec 2016 08:24:27 +0000 (09:24 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
auth/credentials/credentials_ntlm.c

index 3603647b937035b17e87b4e3023acce45144a6ea..2a4c1413501b508cdd5dc0a85f16937e7071d5df 100644 (file)
@@ -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;