diff options
author | Andrew Bartlett <abartlet@samba.org> | 2004-04-10 19:24:31 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2004-04-10 19:24:31 +0000 |
commit | f46a4fff48a78166a5e6dcde7239b6318f9fce6c (patch) | |
tree | 18a6683d79ed39f27c86d1aef810a9ca862c6004 | |
parent | a099a4c154320cdb37aecab900ddc5cedc5ee2e5 (diff) | |
download | samba-f46a4fff48a78166a5e6dcde7239b6318f9fce6c.tar.gz |
r148: Ensure we do not dereference a null pointer when we return the user
session key.
-rw-r--r-- | source/libsmb/ntlm_check.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/source/libsmb/ntlm_check.c b/source/libsmb/ntlm_check.c index a7764f9e986..1d02b03e0c3 100644 --- a/source/libsmb/ntlm_check.c +++ b/source/libsmb/ntlm_check.c @@ -330,7 +330,9 @@ NTSTATUS ntlm_password_check(TALLOC_CTX *mem_ctx, uint8 first_8_lm_hash[16]; memcpy(first_8_lm_hash, lm_pw, 8); memset(first_8_lm_hash + 8, '\0', 8); - *lm_sess_key = data_blob(first_8_lm_hash, 16); + if (lm_sess_key) { + *lm_sess_key = data_blob(first_8_lm_hash, 16); + } } return NT_STATUS_OK; } else { @@ -371,8 +373,13 @@ NTSTATUS ntlm_password_check(TALLOC_CTX *mem_ctx, uint8 first_8_lm_hash[16]; memcpy(first_8_lm_hash, lm_pw, 8); memset(first_8_lm_hash + 8, '\0', 8); - *user_sess_key = data_blob(first_8_lm_hash, 16); - *lm_sess_key = data_blob(first_8_lm_hash, 16); + if (user_sess_key) { + *user_sess_key = data_blob(first_8_lm_hash, 16); + } + + if (lm_sess_key) { + *lm_sess_key = data_blob(first_8_lm_hash, 16); + } return NT_STATUS_OK; } } @@ -431,8 +438,13 @@ NTSTATUS ntlm_password_check(TALLOC_CTX *mem_ctx, uint8 first_8_lm_hash[16]; memcpy(first_8_lm_hash, lm_pw, 8); memset(first_8_lm_hash + 8, '\0', 8); - *user_sess_key = data_blob(first_8_lm_hash, 16); - *lm_sess_key = data_blob(first_8_lm_hash, 16); + if (user_sess_key) { + *user_sess_key = data_blob(first_8_lm_hash, 16); + } + + if (lm_sess_key) { + *lm_sess_key = data_blob(first_8_lm_hash, 16); + } } return NT_STATUS_OK; } |