1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

libcli: Use "all_zero" where appropriate

... Saves a few bytes of footprint

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Volker Lendecke 2016-12-31 12:45:51 +00:00 committed by Ralph Boehme
parent ac389eedec
commit 577418c87e

View File

@ -44,15 +44,12 @@ static NTSTATUS fix_user(TALLOC_CTX *mem_ctx,
struct netr_DELTA_USER *user = delta->delta_union.user; struct netr_DELTA_USER *user = delta->delta_union.user;
struct samr_Password lm_hash; struct samr_Password lm_hash;
struct samr_Password nt_hash; struct samr_Password nt_hash;
unsigned char zero_buf[16];
memset(zero_buf, '\0', sizeof(zero_buf));
/* Note that win2000 may send us all zeros /* Note that win2000 may send us all zeros
* for the hashes if it doesn't * for the hashes if it doesn't
* think this channel is secure enough. */ * think this channel is secure enough. */
if (user->lm_password_present) { if (user->lm_password_present) {
if (memcmp(user->lmpassword.hash, zero_buf, 16) != 0) { if (!all_zero(user->lmpassword.hash, 16)) {
sam_rid_crypt(rid, user->lmpassword.hash, lm_hash.hash, 0); sam_rid_crypt(rid, user->lmpassword.hash, lm_hash.hash, 0);
} else { } else {
memset(lm_hash.hash, '\0', sizeof(lm_hash.hash)); memset(lm_hash.hash, '\0', sizeof(lm_hash.hash));
@ -61,7 +58,7 @@ static NTSTATUS fix_user(TALLOC_CTX *mem_ctx,
} }
if (user->nt_password_present) { if (user->nt_password_present) {
if (memcmp(user->ntpassword.hash, zero_buf, 16) != 0) { if (!all_zero(user->ntpassword.hash, 16)) {
sam_rid_crypt(rid, user->ntpassword.hash, nt_hash.hash, 0); sam_rid_crypt(rid, user->ntpassword.hash, nt_hash.hash, 0);
} else { } else {
memset(nt_hash.hash, '\0', sizeof(nt_hash.hash)); memset(nt_hash.hash, '\0', sizeof(nt_hash.hash));
@ -90,8 +87,8 @@ static NTSTATUS fix_user(TALLOC_CTX *mem_ctx,
* for the hashes if it doesn't * for the hashes if it doesn't
* think this channel is secure enough. */ * think this channel is secure enough. */
if (keys.keys.keys2.lmpassword.length == 16) { if (keys.keys.keys2.lmpassword.length == 16) {
if (memcmp(keys.keys.keys2.lmpassword.pwd.hash, if (!all_zero(keys.keys.keys2.lmpassword.pwd.hash,
zero_buf, 16) != 0) { 16)) {
sam_rid_crypt(rid, sam_rid_crypt(rid,
keys.keys.keys2.lmpassword.pwd.hash, keys.keys.keys2.lmpassword.pwd.hash,
lm_hash.hash, 0); lm_hash.hash, 0);
@ -102,8 +99,8 @@ static NTSTATUS fix_user(TALLOC_CTX *mem_ctx,
user->lm_password_present = true; user->lm_password_present = true;
} }
if (keys.keys.keys2.ntpassword.length == 16) { if (keys.keys.keys2.ntpassword.length == 16) {
if (memcmp(keys.keys.keys2.ntpassword.pwd.hash, if (!all_zero(keys.keys.keys2.ntpassword.pwd.hash,
zero_buf, 16) != 0) { 16)) {
sam_rid_crypt(rid, sam_rid_crypt(rid,
keys.keys.keys2.ntpassword.pwd.hash, keys.keys.keys2.ntpassword.pwd.hash,
nt_hash.hash, 0); nt_hash.hash, 0);