Skip to content

Commit af0fd01

Browse files
HMAC-BLAKE2b: avoid coverity complaints about accessing x_key out of range
1 parent a555d52 commit af0fd01

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

wolfcrypt/src/blake2b.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,9 @@ int wc_Blake2bHmacInit(Blake2b* b2b, const byte* key, size_t key_len)
534534
ret = wc_Blake2bFinal(b2b, x_key, 0);
535535
} else {
536536
XMEMCPY(x_key, key, key_len);
537-
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
537+
if (key_len < BLAKE2B_BLOCKBYTES) {
538+
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
539+
}
538540
}
539541

540542
if (ret == 0) {
@@ -581,7 +583,9 @@ int wc_Blake2bHmacFinal(Blake2b* b2b, const byte* key, size_t key_len,
581583
ret = wc_Blake2bFinal(b2b, x_key, 0);
582584
} else {
583585
XMEMCPY(x_key, key, key_len);
584-
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
586+
if (key_len < BLAKE2B_BLOCKBYTES) {
587+
XMEMSET(x_key + key_len, 0, BLAKE2B_BLOCKBYTES - key_len);
588+
}
585589
}
586590

587591
if (ret == 0) {

wolfcrypt/src/blake2s.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,9 @@ int wc_Blake2sHmacInit(Blake2s* b2s, const byte* key, size_t key_len)
528528
ret = wc_Blake2sFinal(b2s, x_key, 0);
529529
} else {
530530
XMEMCPY(x_key, key, key_len);
531-
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
531+
if (key_len < BLAKE2S_BLOCKBYTES) {
532+
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
533+
}
532534
}
533535

534536
if (ret == 0) {
@@ -575,7 +577,9 @@ int wc_Blake2sHmacFinal(Blake2s* b2s, const byte* key, size_t key_len,
575577
ret = wc_Blake2sFinal(b2s, x_key, 0);
576578
} else {
577579
XMEMCPY(x_key, key, key_len);
578-
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
580+
if (key_len < BLAKE2S_BLOCKBYTES) {
581+
XMEMSET(x_key + key_len, 0, BLAKE2S_BLOCKBYTES - key_len);
582+
}
579583
}
580584

581585
if (ret == 0) {

0 commit comments

Comments
 (0)