Merge pull request #2482 from SparkiDev/cppcheck_fixes_1

Fixes from using cppcheck tool
This commit is contained in:
toddouska
2019-10-04 14:39:31 -07:00
committed by GitHub
26 changed files with 697 additions and 683 deletions
+1 -1
View File
@@ -2892,7 +2892,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif
#endif
if (doSTARTTLS) {
if (doSTARTTLS && starttlsProt != NULL) {
if (XSTRNCMP(starttlsProt, "smtp", 4) == 0) {
if (SMTP_Shutdown(ssl, wc_shutdown) != WOLFSSL_SUCCESS) {
wolfSSL_free(ssl); ssl = NULL;
+7 -2
View File
@@ -233,8 +233,13 @@ static int check_md5(void)
ret = wc_Md5Final(&defMd5, defDigest);
}
if (memcmp(mcDigest, defDigest, CRYPT_MD5_DIGEST_SIZE) != 0) {
printf("md5 final memcmp fialed\n");
if (ret != 0) {
printf("md5 failed\n");
return -1;
}
if (ret == 0 && memcmp(mcDigest, defDigest, CRYPT_MD5_DIGEST_SIZE) != 0) {
printf("md5 final memcmp failed\n");
return -1;
}
printf("md5 mcapi test passed\n");
+1 -1
View File
@@ -19425,7 +19425,7 @@ static int GetDhPublicKey(WOLFSSL* ssl, const byte* input, word32 size,
word16 length;
#ifdef HAVE_FFDHE
const DhParams* params = NULL;
int group;
int group = 0;
#endif
/* p */
+4 -1
View File
@@ -1302,7 +1302,10 @@ static int LoadKeyFile(byte** keyBuf, word32* keyBufSz,
file = XFOPEN(keyFile, "rb");
if (file == XBADFILE) return -1;
if(XFSEEK(file, 0, XSEEK_END) != 0) return -1;
if(XFSEEK(file, 0, XSEEK_END) != 0) {
XFCLOSE(file);
return -1;
}
fileSz = XFTELL(file);
XREWIND(file);
+10 -6
View File
@@ -1801,6 +1801,8 @@ static SNI* TLSX_SNI_New(byte type, const void* data, word16 size, void* heap)
{
SNI* sni = (SNI*)XMALLOC(sizeof(SNI), heap, DYNAMIC_TYPE_TLSX);
(void)heap;
if (sni) {
sni->type = type;
sni->next = NULL;
@@ -4076,7 +4078,7 @@ int TLSX_SupportedFFDHE_Set(WOLFSSL* ssl)
SupportedCurve* serverGroup;
SupportedCurve* clientGroup;
SupportedCurve* group;
const DhParams* params;
const DhParams* params = NULL;
int found = 0;
extension = TLSX_Find(ssl->extensions, TLSX_SUPPORTED_GROUPS);
@@ -4148,9 +4150,9 @@ int TLSX_SupportedFFDHE_Set(WOLFSSL* ssl)
params = wc_Dh_ffdhe8192_Get();
break;
#endif
default:
return BAD_FUNC_ARG;
}
if (params == NULL)
return BAD_FUNC_ARG;
if (params->p_len >= ssl->options.minDhKeySz &&
params->p_len <= ssl->options.maxDhKeySz) {
break;
@@ -4983,6 +4985,8 @@ WOLFSSL_LOCAL SessionTicket* TLSX_SessionTicket_Create(word32 lifetime,
ticket->lifetime = lifetime;
}
(void)heap;
return ticket;
}
WOLFSSL_LOCAL void TLSX_SessionTicket_Free(SessionTicket* ticket, void* heap)
@@ -5598,7 +5602,7 @@ int TLSX_UseQSHScheme(TLSX** extensions, word16 name, byte* pKey, word16 pkeySz,
#define QSH_GET_SIZE TLSX_QSH_GetSize
#define QSH_WRITE TLSX_QSH_Write
#else
#define QSH_GET_SIZE(list) 0
#define QSH_GET_SIZE(list, a) 0
#define QSH_WRITE(a, b) 0
#endif
@@ -9340,7 +9344,7 @@ static word32 GetEntropy(unsigned char* out, word32 num_bytes)
#ifdef HAVE_QSH
static int TLSX_CreateQSHKey(WOLFSSL* ssl, int type)
{
int ret;
int ret = -1;
(void)ssl;
@@ -9354,7 +9358,7 @@ static int TLSX_CreateQSHKey(WOLFSSL* ssl, int type)
#endif
default:
WOLFSSL_MSG("Unknown type for creating NTRU key");
return -1;
break;
}
return ret;
+1 -1
View File
@@ -2230,7 +2230,7 @@ int uIPReceive(WOLFSSL *ssl, char *buf, int sz, void *_ctx)
*/
int uIPGenerateCookie(WOLFSSL* ssl, byte *buf, int sz, void *_ctx)
{
uip_wolfssl_ctx *ctx = (uip_wolfssl_ctx *)ctx;
uip_wolfssl_ctx *ctx = (uip_wolfssl_ctx *)_ctx;
byte token[32];
byte digest[WC_SHA_DIGEST_SIZE];
int ret = 0;
+1 -1
View File
@@ -209,7 +209,7 @@ RsaKey* GetRsaPrivateKey(const char* keyFile)
word32 idx = 0;
XFILE file = XFOPEN(keyFile, "rb");
if (file != XBADFILE)
if (file == XBADFILE)
{
free(key);
return 0;
+12 -27
View File
@@ -5223,9 +5223,7 @@ static int test_wc_Md5Update (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag){
ret = wc_Md5Update(&md5, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -5435,9 +5433,7 @@ static int test_wc_ShaUpdate (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_ShaUpdate(&sha, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -5645,9 +5641,7 @@ static int test_wc_Sha256Update (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_Sha256Update(&sha256, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -5860,16 +5854,12 @@ static int test_wc_Sha512Update (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_Sha512Update(&sha512, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
}
}
if (!flag) {
ret = wc_Sha512Final(&sha512, hash);
if (ret != 0) {
flag = ret;
@@ -6074,9 +6064,7 @@ static int test_wc_Sha384Update (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_Sha384Update(&sha384, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -6287,9 +6275,7 @@ static int test_wc_Sha224Update (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_Sha224Update(&sha224, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -6501,9 +6487,7 @@ static int test_wc_RipeMdUpdate (void)
if (!flag) {
a.input = "a";
a.inLen = XSTRLEN(a.input);
}
if (!flag) {
ret = wc_RipeMdUpdate(&ripemd, (byte*)a.input, (word32)a.inLen);
if (ret != 0) {
flag = ret;
@@ -12742,9 +12726,9 @@ static int test_wc_AesCcmEncryptDecrypt (void)
sizeof(plainOut), iv, sizeof(iv),
authTag, sizeof(authTag),
authIn, sizeof(authIn));
}
if (XMEMCMP(plainOut, plainT, sizeof(plainT)) && ccmD == 0) {
ccmD = WOLFSSL_FATAL_ERROR;
if (XMEMCMP(plainOut, plainT, sizeof(plainT)) && ccmD == 0) {
ccmD = WOLFSSL_FATAL_ERROR;
}
}
#endif
}
@@ -18126,7 +18110,8 @@ static void test_wc_i2d_PKCS12(void)
printf(testingFmt, "wc_i2d_PKCS12");
AssertNotNull(f = XFOPEN(p12_f, "rb"));
f = XFOPEN(p12_f, "rb");
AssertNotNull(f);
derSz = (int)XFREAD(der, 1, sizeof(der), f);
AssertIntGT(derSz, 0);
XFCLOSE(f);
@@ -18267,17 +18252,17 @@ static int test_wc_SignatureGetSize_rsa(void)
#else
ret = WOLFSSL_FATAL_ERROR;
#endif
if (ret == 0) {
ret = wc_InitRsaKey_ex(&rsa_key, HEAP_HINT, devId);
if (ret == 0) {
ret = wc_RsaPrivateKeyDecode(tmp, &idx, &rsa_key,
(word32)bytes);
}
}
} else {
ret = WOLFSSL_FATAL_ERROR;
}
if (ret == 0) {
ret = wc_InitRsaKey_ex(&rsa_key, HEAP_HINT, devId);
}
if (ret == 0) {
ret = wc_RsaPrivateKeyDecode(tmp, &idx, &rsa_key, (word32)bytes);
}
printf(testingFmt, "wc_SigntureGetSize_rsa()");
if (ret == 0) {
/* Input for signature type RSA */
+5
View File
@@ -11210,6 +11210,8 @@ static int SetAKID(byte* output, word32 outSz,
static const byte akid_oid[] = { 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04 };
static const byte akid_cs[] = { 0x80 };
(void)heap;
if (output == NULL || input == NULL)
return BAD_FUNC_ARG;
@@ -11348,6 +11350,8 @@ int EncodePolicyOID(byte *out, word32 *outSz, const char *in, void* heap)
char *token, *str, *ptr;
word32 len;
(void)heap;
if (out == NULL || outSz == NULL || *outSz < 2 || in == NULL)
return BAD_FUNC_ARG;
@@ -12167,6 +12171,7 @@ static int MakeSignature(CertSignCtx* certSignCtx, const byte* buffer, int sz,
(void)eccKey;
(void)ed25519Key;
(void)rng;
(void)heap;
switch (certSignCtx->state) {
case CERTSIGN_STATE_BEGIN:
+1 -1
View File
@@ -4689,7 +4689,7 @@ int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen,
int wc_ecc_sign_hash_ex(const byte* in, word32 inlen, WC_RNG* rng,
ecc_key* key, mp_int *r, mp_int *s)
{
int err;
int err = 0;
#ifndef WOLFSSL_SP_MATH
mp_int* e;
#if (!defined(WOLFSSL_ASYNC_CRYPT) || !defined(HAVE_CAVIUM_V)) && \
+2 -2
View File
@@ -2217,9 +2217,9 @@ LBL_M:
int mp_exptmod_base_2(mp_int * X, mp_int * P, mp_int * Y)
{
mp_digit buf, mp;
int err, bitbuf, bitcpy, bitcnt, digidx, x, y;
int err = MP_OKAY, bitbuf, bitcpy, bitcnt, digidx, x, y;
#ifdef WOLFSSL_SMALL_STACK
mp_int *res;
mp_int *res = NULL;
#else
mp_int res[1];
#endif
+1 -1
View File
@@ -5070,7 +5070,7 @@ static int wc_PKCS7_KeyWrap(byte* cek, word32 cekSz, byte* kek,
word32 kekSz, byte* out, word32 outSz,
int keyWrapAlgo, int direction)
{
int ret;
int ret = 0;
if (cek == NULL || kek == NULL || out == NULL)
return BAD_FUNC_ARG;
+2
View File
@@ -104,6 +104,8 @@ static int hashGetHash(wolfssl_TI_Hash *hash, byte* result, word32 algo, word32
#else
(void) hash;
(void) algo;
XMEMSET(h, 0, sizeof(h));
#endif
XMEMCPY(result, h, hsize);
+64 -66
View File
@@ -4824,13 +4824,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -4952,13 +4951,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -7072,13 +7070,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -7200,13 +7197,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -8096,17 +8092,17 @@ static int sp_2048_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 128;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 128;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -15221,13 +15217,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -15349,13 +15344,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -18269,13 +18263,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -18397,13 +18390,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -19485,17 +19477,17 @@ static int sp_3072_mod_exp_2_96(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 192;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 192;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -26640,7 +26632,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_8(t2, t2);
if (p256_order_low[i / 32] & ((sp_digit)1 << (i % 32)))
if (p256_order_low[i / 32] & ((sp_int_digit)1 << (i % 32)))
sp_256_mont_mul_order_8(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -26732,27 +26724,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 8, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -27370,18 +27363,19 @@ static int sp_256_mont_sqrt_8(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 8, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 8;
t2 = d + 2 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 8;
t2 = d + 2 * 8;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_8(t2, y, p256_mod, p256_mp_mod);
@@ -27448,8 +27442,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 8;
y = d + 2 * 8;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+64 -66
View File
@@ -3061,13 +3061,12 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 32;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_16(norm, m);
@@ -3189,13 +3188,12 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 32;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_16(norm, m);
@@ -4429,13 +4427,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -4557,13 +4554,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -5259,17 +5255,17 @@ static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 64;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 64;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -10054,13 +10050,12 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 48;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_24(norm, m);
@@ -10182,13 +10177,12 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 48;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_24(norm, m);
@@ -11790,13 +11784,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -11918,13 +11911,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -12716,17 +12708,17 @@ static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 96;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 96;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -29685,7 +29677,7 @@ static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_4(t2, t2);
if (p256_order_low[i / 64] & ((sp_digit)1 << (i % 64)))
if (p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64)))
sp_256_mont_mul_order_4(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -29777,27 +29769,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 4, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 4;
x = d + 2 * 4;
k = d + 4 * 4;
r = d + 6 * 4;
tmp = d + 8 * 4;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 4;
x = d + 2 * 4;
k = d + 4 * 4;
r = d + 6 * 4;
tmp = d + 8 * 4;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -30415,18 +30408,19 @@ static int sp_256_mont_sqrt_4(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 4;
t2 = d + 2 * 4;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 4;
t2 = d + 2 * 4;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_4(t2, y, p256_mod, p256_mp_mod);
@@ -30493,8 +30487,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 4;
y = d + 2 * 4;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+64 -66
View File
@@ -3122,13 +3122,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -3250,13 +3249,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -3945,13 +3943,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -4073,13 +4070,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -4975,17 +4971,17 @@ static int sp_2048_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 128;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 128;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -8733,13 +8729,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -8861,13 +8856,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -9562,13 +9556,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -9690,13 +9683,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -10790,17 +10782,17 @@ static int sp_3072_mod_exp_2_96(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 192;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 192;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -16018,7 +16010,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_8(t2, t2);
if (p256_order_low[i / 32] & ((sp_digit)1 << (i % 32)))
if (p256_order_low[i / 32] & ((sp_int_digit)1 << (i % 32)))
sp_256_mont_mul_order_8(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -16110,27 +16102,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 8, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -16748,18 +16741,19 @@ static int sp_256_mont_sqrt_8(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 8, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 8;
t2 = d + 2 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 8;
t2 = d + 2 * 8;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_8(t2, y, p256_mod, p256_mp_mod);
@@ -16826,8 +16820,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 8;
y = d + 2 * 8;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+136 -132
View File
@@ -1746,25 +1746,26 @@ static int sp_2048_div_45(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* sd;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (4 * 45 + 3), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
if (td == NULL)
err = MEMORY_E;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 90 + 1;
sd = t2 + 45 + 1;
}
else
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
sd = sdd;
t1 = t1d;
t2 = t2d;
sd = sdd;
#endif
(void)m;
if (err == MP_OKAY) {
sp_2048_mul_d_45(sd, d, 1 << 11);
sp_2048_mul_d_90(t1, a, 1 << 11);
div = sd[44];
@@ -1872,7 +1873,7 @@ static int sp_2048_mod_exp_45(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 45);
}
if (err == MP_OKAY) {
sp_2048_mul_45(t[1], t[1], norm);
sp_2048_mul_45(t[1], t[1], t[0]);
err = sp_2048_mod_45(t[1], t[1], m);
}
@@ -1938,13 +1939,12 @@ static int sp_2048_mod_exp_45(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[45 * 2];
t[2] = &td[2 * 45 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_45(norm, m);
@@ -2022,13 +2022,12 @@ static int sp_2048_mod_exp_45(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 90;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_45(norm, m);
@@ -2649,25 +2648,26 @@ static int sp_2048_div_90(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* sd;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (4 * 90 + 3), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
if (td == NULL)
err = MEMORY_E;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 180 + 1;
sd = t2 + 90 + 1;
}
else
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
sd = sdd;
t1 = t1d;
t2 = t2d;
sd = sdd;
#endif
(void)m;
if (err == MP_OKAY) {
sp_2048_mul_d_90(sd, d, 1 << 22);
sp_2048_mul_d_180(t1, a, 1 << 22);
div = sd[89];
@@ -2777,7 +2777,7 @@ static int sp_2048_mod_exp_90(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 90);
}
if (err == MP_OKAY) {
sp_2048_mul_90(t[1], t[1], norm);
sp_2048_mul_90(t[1], t[1], t[0]);
err = sp_2048_mod_90(t[1], t[1], m);
}
@@ -2843,13 +2843,12 @@ static int sp_2048_mod_exp_90(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[90 * 2];
t[2] = &td[2 * 90 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_90(norm, m);
@@ -2927,13 +2926,12 @@ static int sp_2048_mod_exp_90(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 180;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_90(norm, m);
@@ -3427,7 +3425,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, mp_int* dm,
}
if (err == MP_OKAY) {
sp_2048_sub_45(tmpa, tmpa, tmpb);
sp_2048_mask_45(tmp, p, tmpa[44] >> 31);
sp_2048_mask_45(tmp, p, 0 - ((sp_int_digit)tmpa[44] >> 31));
sp_2048_add_45(tmpa, tmpa, tmp);
sp_2048_from_mp(qi, 45, qim);
@@ -3480,7 +3478,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, mp_int* dm,
if (err == MP_OKAY) {
sp_2048_sub_45(tmpa, tmpa, tmpb);
sp_2048_mask_45(tmp, p, tmpa[44] >> 31);
sp_2048_mask_45(tmp, p, 0 - ((sp_int_digit)tmpa[44] >> 31));
sp_2048_add_45(tmpa, tmpa, tmp);
sp_2048_mul_45(tmpa, tmpa, qi);
err = sp_2048_mod_45(tmpa, tmpa, p);
@@ -3821,17 +3819,17 @@ static int sp_2048_mod_exp_2_90(sp_digit* r, const sp_digit* e, int bits, const
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 180;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 180;
#else
norm = nd;
tmp = td;
#endif
XMEMSET(td, 0, sizeof(td));
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_90(norm, m);
@@ -5252,23 +5250,24 @@ static int sp_3072_div_67(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 67 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 67;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 67;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[66];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 67);
for (i=66; i>=0; i--) {
@@ -5372,7 +5371,7 @@ static int sp_3072_mod_exp_67(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 67);
}
if (err == MP_OKAY) {
sp_3072_mul_67(t[1], t[1], norm);
sp_3072_mul_67(t[1], t[1], t[0]);
err = sp_3072_mod_67(t[1], t[1], m);
}
@@ -5438,13 +5437,12 @@ static int sp_3072_mod_exp_67(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[67 * 2];
t[2] = &td[2 * 67 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_67(norm, m);
@@ -5522,13 +5520,12 @@ static int sp_3072_mod_exp_67(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 134;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_67(norm, m);
@@ -6185,25 +6182,26 @@ static int sp_3072_div_134(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* sd;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (4 * 134 + 3), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
if (td == NULL)
err = MEMORY_E;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 268 + 1;
sd = t2 + 134 + 1;
}
else
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
sd = sdd;
t1 = t1d;
t2 = t2d;
sd = sdd;
#endif
(void)m;
if (err == MP_OKAY) {
sp_3072_mul_d_134(sd, d, 1 << 10);
sp_3072_mul_d_268(t1, a, 1 << 10);
div = sd[133];
@@ -6313,7 +6311,7 @@ static int sp_3072_mod_exp_134(sp_digit* r, const sp_digit* a, const sp_digit* e
XMEMCPY(t[1], a, sizeof(sp_digit) * 134);
}
if (err == MP_OKAY) {
sp_3072_mul_134(t[1], t[1], norm);
sp_3072_mul_134(t[1], t[1], t[0]);
err = sp_3072_mod_134(t[1], t[1], m);
}
@@ -6379,13 +6377,12 @@ static int sp_3072_mod_exp_134(sp_digit* r, const sp_digit* a, const sp_digit* e
t[0] = td;
t[1] = &td[134 * 2];
t[2] = &td[2 * 134 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_134(norm, m);
@@ -6463,13 +6460,12 @@ static int sp_3072_mod_exp_134(sp_digit* r, const sp_digit* a, const sp_digit* e
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 268;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_134(norm, m);
@@ -6961,7 +6957,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, mp_int* dm,
}
if (err == MP_OKAY) {
sp_3072_sub_67(tmpa, tmpa, tmpb);
sp_3072_mask_67(tmp, p, tmpa[66] >> 31);
sp_3072_mask_67(tmp, p, 0 - ((sp_int_digit)tmpa[66] >> 31));
sp_3072_add_67(tmpa, tmpa, tmp);
sp_3072_from_mp(qi, 67, qim);
@@ -7014,7 +7010,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, mp_int* dm,
if (err == MP_OKAY) {
sp_3072_sub_67(tmpa, tmpa, tmpb);
sp_3072_mask_67(tmp, p, tmpa[66] >> 31);
sp_3072_mask_67(tmp, p, 0 - ((sp_int_digit)tmpa[66] >> 31));
sp_3072_add_67(tmpa, tmpa, tmp);
sp_3072_mul_67(tmpa, tmpa, qi);
err = sp_3072_mod_67(tmpa, tmpa, p);
@@ -7399,17 +7395,17 @@ static int sp_3072_mod_exp_2_134(sp_digit* r, const sp_digit* e, int bits, const
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 268;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 268;
#else
norm = nd;
tmp = td;
#endif
XMEMSET(td, 0, sizeof(td));
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_134(norm, m);
@@ -7865,18 +7861,19 @@ static int sp_256_mod_mul_norm_10(sp_digit* r, const sp_digit* a, const sp_digit
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (int64_t*)XMALLOC(sizeof(int64_t) * 2 * 8, NULL, DYNAMIC_TYPE_ECC);
if (td != NULL) {
t = td;
a32 = td + 8;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t = td;
a32 = a32d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t = td;
a32 = td + 8;
#else
t = td;
a32 = a32d;
#endif
a32[0] = a[0];
a32[0] |= a[1] << 26;
a32[0] &= 0xffffffff;
@@ -11788,23 +11785,24 @@ static int sp_256_div_10(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 10 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 10;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 10;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[9];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 10);
for (i=9; i>=0; i--) {
@@ -11978,7 +11976,7 @@ static void sp_256_mont_inv_order_10(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_10(t2, t2);
if (p256_order_low[i / 32] & ((sp_digit)1 << (i % 32)))
if (p256_order_low[i / 32] & ((sp_int_digit)1 << (i % 32)))
sp_256_mont_mul_order_10(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -12070,27 +12068,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 10, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 10;
x = d + 2 * 10;
k = d + 4 * 10;
r = d + 6 * 10;
tmp = d + 8 * 10;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 10;
x = d + 2 * 10;
k = d + 4 * 10;
r = d + 6 * 10;
tmp = d + 8 * 10;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -12708,18 +12707,19 @@ static int sp_256_mont_sqrt_10(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 10, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 10;
t2 = d + 2 * 10;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 10;
t2 = d + 2 * 10;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_10(t2, y, p256_mod, p256_mp_mod);
@@ -12786,8 +12786,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 10;
y = d + 2 * 10;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+136 -132
View File
@@ -1354,23 +1354,24 @@ static int sp_2048_div_18(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 18 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 18;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 18;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[17];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 18);
for (i=17; i>=0; i--) {
@@ -1474,7 +1475,7 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 18);
}
if (err == MP_OKAY) {
sp_2048_mul_18(t[1], t[1], norm);
sp_2048_mul_18(t[1], t[1], t[0]);
err = sp_2048_mod_18(t[1], t[1], m);
}
@@ -1540,13 +1541,12 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[18 * 2];
t[2] = &td[2 * 18 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_18(norm, m);
@@ -1624,13 +1624,12 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 36;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_18(norm, m);
@@ -2205,23 +2204,24 @@ static int sp_2048_div_36(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 36 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 36;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 36;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[35];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 36);
for (i=35; i>=0; i--) {
@@ -2327,7 +2327,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 36);
}
if (err == MP_OKAY) {
sp_2048_mul_36(t[1], t[1], norm);
sp_2048_mul_36(t[1], t[1], t[0]);
err = sp_2048_mod_36(t[1], t[1], m);
}
@@ -2393,13 +2393,12 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[36 * 2];
t[2] = &td[2 * 36 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_36(norm, m);
@@ -2477,13 +2476,12 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 72;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_36(norm, m);
@@ -2974,7 +2972,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, mp_int* dm,
}
if (err == MP_OKAY) {
sp_2048_sub_18(tmpa, tmpa, tmpb);
sp_2048_mask_18(tmp, p, tmpa[17] >> 63);
sp_2048_mask_18(tmp, p, 0 - ((sp_int_digit)tmpa[17] >> 63));
sp_2048_add_18(tmpa, tmpa, tmp);
sp_2048_from_mp(qi, 18, qim);
@@ -3027,7 +3025,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, mp_int* dm,
if (err == MP_OKAY) {
sp_2048_sub_18(tmpa, tmpa, tmpb);
sp_2048_mask_18(tmp, p, tmpa[17] >> 63);
sp_2048_mask_18(tmp, p, 0 - ((sp_int_digit)tmpa[17] >> 63));
sp_2048_add_18(tmpa, tmpa, tmp);
sp_2048_mul_18(tmpa, tmpa, qi);
err = sp_2048_mod_18(tmpa, tmpa, p);
@@ -3314,17 +3312,17 @@ static int sp_2048_mod_exp_2_36(sp_digit* r, const sp_digit* e, int bits, const
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 72;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 72;
#else
norm = nd;
tmp = td;
#endif
XMEMSET(td, 0, sizeof(td));
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_36(norm, m);
@@ -5155,23 +5153,24 @@ static int sp_3072_div_27(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 27 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 27;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 27;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[26];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 27);
for (i=26; i>=0; i--) {
@@ -5275,7 +5274,7 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 27);
}
if (err == MP_OKAY) {
sp_3072_mul_27(t[1], t[1], norm);
sp_3072_mul_27(t[1], t[1], t[0]);
err = sp_3072_mod_27(t[1], t[1], m);
}
@@ -5341,13 +5340,12 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[27 * 2];
t[2] = &td[2 * 27 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_27(norm, m);
@@ -5425,13 +5423,12 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 54;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_27(norm, m);
@@ -5978,23 +5975,24 @@ static int sp_3072_div_54(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 54 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 54;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 54;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[53];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 54);
for (i=53; i>=0; i--) {
@@ -6100,7 +6098,7 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e,
XMEMCPY(t[1], a, sizeof(sp_digit) * 54);
}
if (err == MP_OKAY) {
sp_3072_mul_54(t[1], t[1], norm);
sp_3072_mul_54(t[1], t[1], t[0]);
err = sp_3072_mod_54(t[1], t[1], m);
}
@@ -6166,13 +6164,12 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e,
t[0] = td;
t[1] = &td[54 * 2];
t[2] = &td[2 * 54 * 2];
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_54(norm, m);
@@ -6250,13 +6247,12 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 108;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_54(norm, m);
@@ -6748,7 +6744,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, mp_int* dm,
}
if (err == MP_OKAY) {
sp_3072_sub_27(tmpa, tmpa, tmpb);
sp_3072_mask_27(tmp, p, tmpa[26] >> 63);
sp_3072_mask_27(tmp, p, 0 - ((sp_int_digit)tmpa[26] >> 63));
sp_3072_add_27(tmpa, tmpa, tmp);
sp_3072_from_mp(qi, 27, qim);
@@ -6801,7 +6797,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, mp_int* dm,
if (err == MP_OKAY) {
sp_3072_sub_27(tmpa, tmpa, tmpb);
sp_3072_mask_27(tmp, p, tmpa[26] >> 63);
sp_3072_mask_27(tmp, p, 0 - ((sp_int_digit)tmpa[26] >> 63));
sp_3072_add_27(tmpa, tmpa, tmp);
sp_3072_mul_27(tmpa, tmpa, qi);
err = sp_3072_mod_27(tmpa, tmpa, p);
@@ -7106,17 +7102,17 @@ static int sp_3072_mod_exp_2_54(sp_digit* r, const sp_digit* e, int bits, const
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 108;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 108;
#else
norm = nd;
tmp = td;
#endif
XMEMSET(td, 0, sizeof(td));
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_54(norm, m);
@@ -7573,18 +7569,19 @@ static int sp_256_mod_mul_norm_5(sp_digit* r, const sp_digit* a, const sp_digit*
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (int64_t*)XMALLOC(sizeof(int64_t) * 2 * 8, NULL, DYNAMIC_TYPE_ECC);
if (td != NULL) {
t = td;
a32 = td + 8;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t = td;
a32 = a32d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t = td;
a32 = td + 8;
#else
t = td;
a32 = a32d;
#endif
a32[0] = (sp_digit)(a[0]) & 0xffffffff;
a32[1] = (sp_digit)(a[0] >> 32);
a32[1] |= a[1] << 20;
@@ -11271,23 +11268,24 @@ static int sp_256_div_5(const sp_digit* a, const sp_digit* d, sp_digit* m,
sp_digit* t2;
int err = MP_OKAY;
(void)m;
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (3 * 5 + 1), NULL,
DYNAMIC_TYPE_TMP_BUFFER);
if (td != NULL) {
t1 = td;
t2 = td + 2 * 5;
}
else
if (td == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
(void)m;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = td;
t2 = td + 2 * 5;
#else
t1 = t1d;
t2 = t2d;
#endif
div = d[4];
XMEMCPY(t1, a, sizeof(*t1) * 2 * 5);
for (i=4; i>=0; i--) {
@@ -11461,7 +11459,7 @@ static void sp_256_mont_inv_order_5(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_5(t2, t2);
if (p256_order_low[i / 64] & ((sp_digit)1 << (i % 64)))
if (p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64)))
sp_256_mont_mul_order_5(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -11553,27 +11551,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 5, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 5;
x = d + 2 * 5;
k = d + 4 * 5;
r = d + 6 * 5;
tmp = d + 8 * 5;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 5;
x = d + 2 * 5;
k = d + 4 * 5;
r = d + 6 * 5;
tmp = d + 8 * 5;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -12191,18 +12190,19 @@ static int sp_256_mont_sqrt_5(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 5, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 5;
t2 = d + 2 * 5;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 5;
t2 = d + 2 * 5;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_5(t2, y, p256_mod, p256_mp_mod);
@@ -12269,8 +12269,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 5;
y = d + 2 * 5;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+64 -66
View File
@@ -3431,13 +3431,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -3559,13 +3558,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -4112,13 +4110,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -4240,13 +4237,12 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 128;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -5142,17 +5138,17 @@ static int sp_2048_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 128;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 128;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_64(norm, m);
@@ -8468,13 +8464,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -8596,13 +8591,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -9155,13 +9149,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<16; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -9283,13 +9276,12 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 192;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -10381,17 +10373,17 @@ static int sp_3072_mod_exp_2_96(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 192;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 192;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_96(norm, m);
@@ -16089,7 +16081,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_8(t2, t2);
if (p256_order_low[i / 32] & ((sp_digit)1 << (i % 32)))
if (p256_order_low[i / 32] & ((sp_int_digit)1 << (i % 32)))
sp_256_mont_mul_order_8(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -16181,27 +16173,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 8, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 8;
x = d + 2 * 8;
k = d + 4 * 8;
r = d + 6 * 8;
tmp = d + 8 * 8;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -16819,18 +16812,19 @@ static int sp_256_mont_sqrt_8(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 8, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 8;
t2 = d + 2 * 8;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 8;
t2 = d + 2 * 8;
#else
t1 = t1d;
t2 = t2d;
#endif
{
/* t2 = y ^ 0x2 */
sp_256_mont_sqr_8(t2, y, p256_mod, p256_mp_mod);
@@ -16897,8 +16891,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 8;
y = d + 2 * 8;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+99 -101
View File
@@ -524,13 +524,12 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 32;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_16(norm, m);
@@ -703,13 +702,12 @@ static int sp_2048_mod_exp_avx2_16(sp_digit* r, const sp_digit* a, const sp_digi
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 32;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_16(norm, m);
@@ -1067,13 +1065,12 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -1248,13 +1245,12 @@ static int sp_2048_mod_exp_avx2_32(sp_digit* r, const sp_digit* a, const sp_digi
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 64;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -1383,7 +1379,7 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
sp_digit *ah;
sp_digit* m;
sp_digit* r;
sp_digit e[1];
sp_digit e = 0;
int err = MP_OKAY;
#ifdef HAVE_INTEL_AVX2
word32 cpuid_flags = cpuid_get_flags();
@@ -1419,19 +1415,19 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (err == MP_OKAY) {
sp_2048_from_bin(ah, 32, in, inLen);
#if DIGIT_BIT >= 64
e[0] = em->dp[0];
e = em->dp[0];
#else
e[0] = em->dp[0];
e = em->dp[0];
if (em->used > 1)
e[0] |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
e |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
#endif
if (e[0] == 0)
if (e == 0)
err = MP_EXPTMOD_E;
}
if (err == MP_OKAY) {
sp_2048_from_mp(m, 32, mm);
if (e[0] == 0x3) {
if (e == 0x3) {
#ifdef HAVE_INTEL_AVX2
if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
if (err == MP_OKAY) {
@@ -1468,7 +1464,7 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (err == MP_OKAY) {
for (i=63; i>=0; i--)
if (e[0] >> i)
if (e >> i)
break;
XMEMCPY(r, a, sizeof(sp_digit) * 32);
@@ -1476,7 +1472,7 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
for (i--; i>=0; i--) {
sp_2048_mont_sqr_avx2_32(r, r, m, mp);
if (((e[0] >> i) & 1) == 1)
if (((e >> i) & 1) == 1)
sp_2048_mont_mul_avx2_32(r, r, a, m, mp);
}
XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
@@ -1487,7 +1483,7 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
{
for (i--; i>=0; i--) {
sp_2048_mont_sqr_32(r, r, m, mp);
if (((e[0] >> i) & 1) == 1)
if (((e >> i) & 1) == 1)
sp_2048_mont_mul_32(r, r, a, m, mp);
}
XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
@@ -1809,17 +1805,17 @@ static int sp_2048_mod_exp_2_avx2_32(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 64;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 64;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -1914,17 +1910,17 @@ static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 64;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 64;
#else
norm = nd;
tmp = td;
#endif
sp_2048_mont_setup(m, &mp);
sp_2048_mont_norm_32(norm, m);
@@ -2584,13 +2580,12 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 48;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_24(norm, m);
@@ -2763,13 +2758,12 @@ static int sp_3072_mod_exp_avx2_24(sp_digit* r, const sp_digit* a, const sp_digi
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 48;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_24(norm, m);
@@ -3127,13 +3121,12 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -3308,13 +3301,12 @@ static int sp_3072_mod_exp_avx2_48(sp_digit* r, const sp_digit* a, const sp_digi
if (err == MP_OKAY) {
for (i=0; i<32; i++)
t[i] = td + i * 96;
norm = t[0];
}
#else
norm = t[0];
#endif
if (err == MP_OKAY) {
norm = t[0];
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -3443,7 +3435,7 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
sp_digit *ah;
sp_digit* m;
sp_digit* r;
sp_digit e[1];
sp_digit e = 0;
int err = MP_OKAY;
#ifdef HAVE_INTEL_AVX2
word32 cpuid_flags = cpuid_get_flags();
@@ -3479,19 +3471,19 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (err == MP_OKAY) {
sp_3072_from_bin(ah, 48, in, inLen);
#if DIGIT_BIT >= 64
e[0] = em->dp[0];
e = em->dp[0];
#else
e[0] = em->dp[0];
e = em->dp[0];
if (em->used > 1)
e[0] |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
e |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
#endif
if (e[0] == 0)
if (e == 0)
err = MP_EXPTMOD_E;
}
if (err == MP_OKAY) {
sp_3072_from_mp(m, 48, mm);
if (e[0] == 0x3) {
if (e == 0x3) {
#ifdef HAVE_INTEL_AVX2
if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
if (err == MP_OKAY) {
@@ -3528,7 +3520,7 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (err == MP_OKAY) {
for (i=63; i>=0; i--)
if (e[0] >> i)
if (e >> i)
break;
XMEMCPY(r, a, sizeof(sp_digit) * 48);
@@ -3536,7 +3528,7 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
for (i--; i>=0; i--) {
sp_3072_mont_sqr_avx2_48(r, r, m, mp);
if (((e[0] >> i) & 1) == 1)
if (((e >> i) & 1) == 1)
sp_3072_mont_mul_avx2_48(r, r, a, m, mp);
}
XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
@@ -3547,7 +3539,7 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, mp_int* em, mp_int* mm,
{
for (i--; i>=0; i--) {
sp_3072_mont_sqr_48(r, r, m, mp);
if (((e[0] >> i) & 1) == 1)
if (((e >> i) & 1) == 1)
sp_3072_mont_mul_48(r, r, a, m, mp);
}
XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
@@ -3869,17 +3861,17 @@ static int sp_3072_mod_exp_2_avx2_48(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 96;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 96;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -3974,17 +3966,17 @@ static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits,
DYNAMIC_TYPE_TMP_BUFFER);
if (td == NULL)
err = MEMORY_E;
if (err == MP_OKAY) {
norm = td;
tmp = td + 96;
}
#else
norm = nd;
tmp = td;
#endif
if (err == MP_OKAY) {
#ifdef WOLFSSL_SMALL_STACK
norm = td;
tmp = td + 96;
#else
norm = nd;
tmp = td;
#endif
sp_3072_mont_setup(m, &mp);
sp_3072_mont_norm_48(norm, m);
@@ -20710,7 +20702,7 @@ static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_4(t2, t2);
if (p256_order_low[i / 64] & ((sp_digit)1 << (i % 64)))
if (p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64)))
sp_256_mont_mul_order_4(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -20850,7 +20842,7 @@ static void sp_256_mont_inv_order_avx2_4(sp_digit* r, const sp_digit* a,
/* t2= a^ffffffff00000000ffffffffffffffffbce6 */
for (i=127; i>=112; i--) {
sp_256_mont_sqr_order_avx2_4(t2, t2);
if (p256_order_low[i / 64] & ((sp_digit)1 << (i % 64)))
if (p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64)))
sp_256_mont_mul_order_avx2_4(t2, t2, a);
}
/* t2= a^ffffffff00000000ffffffffffffffffbce6f */
@@ -20946,27 +20938,28 @@ int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng, mp_int* priv,
if (err == MP_OKAY) {
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 4, heap,
DYNAMIC_TYPE_ECC);
if (d != NULL) {
e = d + 0 * 4;
x = d + 2 * 4;
k = d + 4 * 4;
r = d + 6 * 4;
tmp = d + 8 * 4;
}
else
if (d == NULL)
err = MEMORY_E;
}
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
e = d + 0 * 4;
x = d + 2 * 4;
k = d + 4 * 4;
r = d + 6 * 4;
tmp = d + 8 * 4;
#else
e = ed;
x = xd;
k = kd;
r = rd;
tmp = td;
#endif
s = e;
kInv = k;
if (hashLen > 32)
hashLen = 32;
@@ -21672,18 +21665,19 @@ static int sp_256_mont_sqrt_4(sp_digit* y)
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
if (d != NULL) {
t1 = d + 0 * 4;
t2 = d + 2 * 4;
}
else
if (d == NULL)
err = MEMORY_E;
#else
t1 = t1d;
t2 = t2d;
#endif
if (err == MP_OKAY) {
#if defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)
t1 = d + 0 * 4;
t2 = d + 2 * 4;
#else
t1 = t1d;
t2 = t2d;
#endif
#ifdef HAVE_INTEL_AVX2
if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) {
/* t2 = y ^ 0x2 */
@@ -21787,8 +21781,12 @@ int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
x = d + 0 * 4;
y = d + 2 * 4;
}
else
else {
err = MEMORY_E;
/* Compiler doesn't always know that err is not MP_OKAY. */
x = NULL;
y = NULL;
}
#else
x = xd;
y = yd;
+2
View File
@@ -4281,6 +4281,8 @@ int fp_randprime(fp_int* N, int len, WC_RNG* rng, void* heap)
* it is proven composite. */
byte* buf;
(void)heap;
/* get type */
if (len < 0) {
type = USE_BBS;
+1 -1
View File
@@ -1190,7 +1190,7 @@ static int Pkcs11FindEccKey(CK_OBJECT_HANDLE* key, CK_OBJECT_CLASS keyClass,
int ret = 0;
int i;
unsigned char* ecPoint = NULL;
word32 len;
word32 len = 0;
CK_RV rv;
CK_ULONG count;
CK_UTF8CHAR params[MAX_EC_PARAM_LEN];
+1 -1
View File
@@ -595,7 +595,7 @@ XFILE z_fs_open(const char* filename, const char* perm)
file = XMALLOC(sizeof(*file), NULL, DYNAMIC_TYPE_FILE);
if (file != NULL) {
if (fs_open(file, filename) != 0) {
XFREE(file);
XFREE(file, NULL, DYNAMIC_TYPE_FILE);
file = NULL;
}
}
+3 -3
View File
@@ -8921,7 +8921,7 @@ int memory_test(void)
word32 size[] = { WOLFMEM_BUCKETS };
word32 dist[] = { WOLFMEM_DIST };
byte buffer[30000]; /* make large enough to involve many bucket sizes */
int pad = -(int)((wolfssl_word)&(buffer[0])) & (WOLFSSL_STATIC_ALIGN - 1);
int pad = -(int)((wolfssl_word)buffer) & (WOLFSSL_STATIC_ALIGN - 1);
/* pad to account for if head of buffer is not at set memory
* alignment when tests are ran */
#endif
@@ -11683,7 +11683,7 @@ int rsa_test(void)
#ifndef NO_SIG_WRAPPER
modLen = wc_RsaEncryptSize(&key);
#endif
#elif defined(WOLFSSL_RSA_PUBLIC_ONLY) && defined(WOLFSSL_MP_PUBLIC)
#else
#ifdef USE_CERT_BUFFERS_2048
ret = mp_read_unsigned_bin(&key.n, &tmp[12], 256);
if (ret != 0) {
@@ -14232,7 +14232,7 @@ int openssl_test(void)
byte hash[WC_SHA256_DIGEST_SIZE*2]; /* max size */
a.inLen = 0;
b = c = d = e = f = a;
b.inLen = c.inLen = d.inLen = e.inLen = f.inLen = a.inLen;
(void)a;
(void)b;
+14 -4
View File
@@ -64,8 +64,13 @@
#elif SP_WORD_SIZE == 64
typedef int64_t sp_digit;
typedef uint64_t sp_int_digit;
typedef unsigned long uint128_t __attribute__ ((mode(TI)));
typedef long int128_t __attribute__ ((mode(TI)));
#ifdef __SIZEOF_INT128__
typedef __uint128_t uint128_t;
typedef __int128_t int128_t;
#else
typedef unsigned long uint128_t __attribute__ ((mode(TI)));
typedef long int128_t __attribute__ ((mode(TI)));
#endif
typedef uint128_t sp_int_word;
#else
#error Word size not defined
@@ -78,8 +83,13 @@
#elif SP_WORD_SIZE == 64
typedef uint64_t sp_digit;
typedef uint64_t sp_int_digit;
typedef unsigned long uint128_t __attribute__ ((mode(TI)));
typedef long int128_t __attribute__ ((mode(TI)));
#ifdef __SIZEOF_INT128__
typedef __uint128_t uint128_t;
typedef __int128_t int128_t;
#else
typedef unsigned long uint128_t __attribute__ ((mode(TI)));
typedef long int128_t __attribute__ ((mode(TI)));
#endif
typedef uint128_t sp_int_word;
#else
#error Word size not defined
+1 -1
View File
@@ -299,7 +299,7 @@
#else
/* just use plain C stdlib stuff if desired */
#include <stdlib.h>
#define XMALLOC(s, h, t) ((void)h, (void)t, malloc((s)))
#define XMALLOC(s, h, t) malloc((s))
#define XFREE(p, h, t) {void* xp = (p); if((xp)) free((xp));}
#define XREALLOC(p, n, h, t) realloc((p), (n))
#endif