Skip to content

Commit e90429d

Browse files
HMAC-BLAKE2: avoid clang-analyzer warnings about x_key being uninitialized
1 parent 90c8b5c commit e90429d

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

wolfcrypt/src/blake2b.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -537,8 +537,10 @@ int wc_Blake2bHmacInit(Blake2b* b2b, const byte* key, size_t key_len)
537537
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
538538
}
539539

540-
for (i = 0; i < BLAKE2B_BLOCKBYTES; ++i)
541-
x_key[i] ^= 0x36U;
540+
if (ret == 0) {
541+
for (i = 0; i < BLAKE2B_BLOCKBYTES; ++i)
542+
x_key[i] ^= 0x36U;
543+
}
542544

543545
if (ret == 0)
544546
ret = wc_InitBlake2b(b2b, BLAKE2B_OUTBYTES);
@@ -582,8 +584,10 @@ int wc_Blake2bHmacFinal(Blake2b* b2b, const byte* key, size_t key_len,
582584
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
583585
}
584586

585-
for (i = 0; i < BLAKE2B_BLOCKBYTES; ++i)
586-
x_key[i] ^= 0x5CU;
587+
if (ret == 0) {
588+
for (i = 0; i < BLAKE2B_BLOCKBYTES; ++i)
589+
x_key[i] ^= 0x5CU;
590+
}
587591

588592
if (ret == 0)
589593
ret = wc_Blake2bFinal(b2b, out, 0);

wolfcrypt/src/blake2s.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -531,8 +531,10 @@ int wc_Blake2sHmacInit(Blake2s* b2s, const byte* key, size_t key_len)
531531
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
532532
}
533533

534-
for (i = 0; i < BLAKE2S_BLOCKBYTES; ++i)
535-
x_key[i] ^= 0x36U;
534+
if (ret == 0) {
535+
for (i = 0; i < BLAKE2S_BLOCKBYTES; ++i)
536+
x_key[i] ^= 0x36U;
537+
}
536538

537539
if (ret == 0)
538540
ret = wc_InitBlake2s(b2s, BLAKE2S_OUTBYTES);
@@ -576,8 +578,10 @@ int wc_Blake2sHmacFinal(Blake2s* b2s, const byte* key, size_t key_len,
576578
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
577579
}
578580

579-
for (i = 0; i < BLAKE2S_BLOCKBYTES; ++i)
580-
x_key[i] ^= 0x5CU;
581+
if (ret == 0) {
582+
for (i = 0; i < BLAKE2S_BLOCKBYTES; ++i)
583+
x_key[i] ^= 0x5CU;
584+
}
581585

582586
if (ret == 0)
583587
ret = wc_Blake2sFinal(b2s, out, 0);

0 commit comments

Comments
 (0)