Skip to content

Commit def2516

Browse files
committed
Incorporate feedback from Sean
1 parent 6611c0c commit def2516

3 files changed

Lines changed: 183 additions & 194 deletions

File tree

.github/workflows/wolfCrypt-Wconversion.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ jobs:
2727
'--enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests --enable-mlkem=yes,small CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"',
2828
'--enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests --enable-mlkem=yes,no-large-code CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"',
2929
'--enable-smallstack --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests --enable-mlkem=yes CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"',
30+
'--disable-intelasm --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-DWOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM -DWOLFSSL_MLKEM_MAKEKEY_SMALL_MEM -Wdeclaration-after-statement -Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion" --enable-32bit CFLAGS=-m32',
31+
'--disable-intelasm --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests --enable-mlkem=yes,small CPPFLAGS="-DWOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM -DWOLFSSL_MLKEM_MAKEKEY_SMALL_MEM -Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"',
3032
]
3133
name: build library
3234
if: github.repository_owner == 'wolfssl'

wolfcrypt/src/wc_mlkem.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -522,17 +522,16 @@ int wc_MlKemKey_MakeKeyWithRandom(MlKemKey* key, const unsigned char* rand,
522522
#ifndef WOLFSSL_MLKEM_MAKEKEY_SMALL_MEM
523523
#ifndef WOLFSSL_MLKEM_CACHE_A
524524
/* e (v) | a (m) */
525-
e = (sword16*)XMALLOC((size_t)(k + 1) * (size_t)k *
526-
(size_t)MLKEM_N * sizeof(sword16),
525+
e = (sword16*)XMALLOC((size_t)((k + 1) * k * MLKEM_N) * sizeof(sword16),
527526
key->heap, DYNAMIC_TYPE_TMP_BUFFER);
528527
#else
529528
/* e (v) */
530-
e = (sword16*)XMALLOC((size_t)k * (size_t)MLKEM_N * sizeof(sword16),
529+
e = (sword16*)XMALLOC((size_t)(k * MLKEM_N) * sizeof(sword16),
531530
key->heap, DYNAMIC_TYPE_TMP_BUFFER);
532531
#endif
533532
#else
534533
/* e (v) */
535-
e = (sword16*)XMALLOC((size_t)k * (size_t)MLKEM_N * sizeof(sword16),
534+
e = (sword16*)XMALLOC((size_t)(k * MLKEM_N) * sizeof(sword16),
536535
key->heap, DYNAMIC_TYPE_TMP_BUFFER);
537536
#endif
538537
if (e == NULL) {
@@ -589,7 +588,7 @@ int wc_MlKemKey_MakeKeyWithRandom(MlKemKey* key, const unsigned char* rand,
589588
/* Generate noise using PRF.
590589
* Alg 13: Steps 8-15: generate s and e
591590
*/
592-
ret = mlkem_get_noise(&key->prf, (int)k, s, e, NULL, sigma);
591+
ret = mlkem_get_noise(&key->prf, k, s, e, NULL, sigma);
593592
}
594593
if (ret == 0) {
595594
/* Generate the matrix A.
@@ -826,12 +825,10 @@ static int mlkemkey_encapsulate(MlKemKey* key, const byte* m, byte* r, byte* c)
826825
if (ret == 0) {
827826
/* Allocate dynamic memory for all matrices, vectors and polynomials. */
828827
#ifndef WOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM
829-
y = (sword16*)XMALLOC(((size_t)(k + 3) * (size_t)k + 3) *
830-
(size_t)MLKEM_N * sizeof(sword16),
828+
y = (sword16*)XMALLOC(((k + 3) * k + 3) * MLKEM_N * sizeof(sword16),
831829
key->heap, DYNAMIC_TYPE_TMP_BUFFER);
832830
#else
833-
y = (sword16*)XMALLOC((size_t)3 * (size_t)k *
834-
(size_t)MLKEM_N * sizeof(sword16), key->heap,
831+
y = (sword16*)XMALLOC(3 * k * MLKEM_N * sizeof(sword16), key->heap,
835832
DYNAMIC_TYPE_TMP_BUFFER);
836833
#endif
837834
if (y == NULL) {

0 commit comments

Comments
 (0)