From 4014d91b9a68aa2161421896a82d84e4211e480e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 3 Jan 2020 14:10:00 +0100 Subject: auth: Slightly simplify smb_pwd_check_ntlmv1() Do an early return for the failure case Signed-off-by: Volker Lendecke Reviewed-by: Gary Lockyer --- libcli/auth/ntlm_check.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'libcli') diff --git a/libcli/auth/ntlm_check.c b/libcli/auth/ntlm_check.c index 3e00901b166..11d75b31010 100644 --- a/libcli/auth/ntlm_check.c +++ b/libcli/auth/ntlm_check.c @@ -37,6 +37,7 @@ static bool smb_pwd_check_ntlmv1(TALLOC_CTX *mem_ctx, /* Finish the encryption of part_passwd. */ uint8_t p24[24]; int rc; + bool ok; if (part_passwd == NULL) { DEBUG(10,("No password set - DISALLOWING access\n")); @@ -71,18 +72,19 @@ static bool smb_pwd_check_ntlmv1(TALLOC_CTX *mem_ctx, DEBUGADD(100,("Value from encryption was |\n")); dump_data(100, p24, 24); #endif - if (memcmp(p24, nt_response->data, 24) == 0) { - if (user_sess_key != NULL) { - *user_sess_key = data_blob_talloc(mem_ctx, NULL, 16); - if (user_sess_key->data == NULL) { - DBG_ERR("data_blob_talloc failed\n"); - return false; - } - SMBsesskeygen_ntv1(part_passwd, user_sess_key->data); + ok = (memcmp(p24, nt_response->data, 24) == 0); + if (!ok) { + return false; + } + if (user_sess_key != NULL) { + *user_sess_key = data_blob_talloc(mem_ctx, NULL, 16); + if (user_sess_key->data == NULL) { + DBG_ERR("data_blob_talloc failed\n"); + return false; } - return true; - } - return false; + SMBsesskeygen_ntv1(part_passwd, user_sess_key->data); + } + return true; } /**************************************************************************** -- cgit v1.2.1