diff --git a/src/internal.c b/src/internal.c index f29864fe6..0d2a81f02 100644 --- a/src/internal.c +++ b/src/internal.c @@ -3114,12 +3114,14 @@ int DhGenKeyPair(WOLFSSL* ssl, int ret; DhKey dhKey; - wc_InitDhKey(&dhKey); - ret = wc_DhSetKey(&dhKey, p, pSz, g, gSz); + ret = wc_InitDhKey(&dhKey); if (ret == 0) { - ret = wc_DhGenerateKeyPair(&dhKey, ssl->rng, priv, privSz, pub, pubSz); + ret = wc_DhSetKey(&dhKey, p, pSz, g, gSz); + if (ret == 0) { + ret = wc_DhGenerateKeyPair(&dhKey, ssl->rng, priv, privSz, pub, pubSz); + } + wc_FreeDhKey(&dhKey); } - wc_FreeDhKey(&dhKey); return ret; } @@ -3135,16 +3137,18 @@ int DhAgree(WOLFSSL* ssl, int ret; DhKey dhKey; - wc_InitDhKey(&dhKey); - ret = wc_DhSetKey(&dhKey, p, pSz, g, gSz); - if (ret == 0 && pub) { - /* for DH, encSecret is Yc, agree is pre-master */ - ret = wc_DhGenerateKeyPair(&dhKey, ssl->rng, priv, privSz, pub, pubSz); - } + ret = wc_InitDhKey(&dhKey); if (ret == 0) { - ret = wc_DhAgree(&dhKey, agree, agreeSz, priv, *privSz, otherPub, otherPubSz); + ret = wc_DhSetKey(&dhKey, p, pSz, g, gSz); + if (ret == 0 && pub) { + /* for DH, encSecret is Yc, agree is pre-master */ + ret = wc_DhGenerateKeyPair(&dhKey, ssl->rng, priv, privSz, pub, pubSz); + } + if (ret == 0) { + ret = wc_DhAgree(&dhKey, agree, agreeSz, priv, *privSz, otherPub, otherPubSz); + } + wc_FreeDhKey(&dhKey); } - wc_FreeDhKey(&dhKey); return ret; } diff --git a/src/ssl.c b/src/ssl.c index 9bbc15de3..5fcd828fd 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -16130,7 +16130,11 @@ WOLFSSL_DH* wolfSSL_DH_new(void) } InitwolfSSL_DH(external); - wc_InitDhKey(key); + if (wc_InitDhKey(key) != 0) { + WOLFSSL_MSG("wolfSSL_DH_new InitDhKey failure"); + XFREE(key, NULL, DYNAMIC_TYPE_DH); + return NULL; + } external->internal = key; return external; @@ -16425,7 +16429,11 @@ WOLFSSL_DSA* wolfSSL_DSA_new(void) } InitwolfSSL_DSA(external); - InitDsaKey(key); + if (wc_InitDsaKey(key) != 0) { + WOLFSSL_MSG("wolfSSL_DSA_new InitDsaKey failure"); + XFREE(key, NULL, DYNAMIC_TYPE_DSA); + return NULL; + } external->internal = key; return external; diff --git a/wolfcrypt/benchmark/benchmark.c b/wolfcrypt/benchmark/benchmark.c index 57dea6583..c2696bc46 100644 --- a/wolfcrypt/benchmark/benchmark.c +++ b/wolfcrypt/benchmark/benchmark.c @@ -1891,7 +1891,11 @@ void bench_dh(void) #endif /* USE_CERT_BUFFERS */ - wc_InitDhKey(&dhKey); + if (wc_InitDhKey(&dhKey) != 0) { + printf("InitDhKey failed!\n"); + return; + } + #ifdef NO_ASN bytes = wc_DhSetKey(&dhKey, dh_p, sizeof(dh_p), dh_g, sizeof(dh_g)); #else diff --git a/wolfcrypt/src/dh.c b/wolfcrypt/src/dh.c index c617fd823..4d4427652 100644 --- a/wolfcrypt/src/dh.c +++ b/wolfcrypt/src/dh.c @@ -49,12 +49,17 @@ #endif -void wc_InitDhKey(DhKey* key) +int wc_InitDhKey(DhKey* key) { - if (key) { - mp_init(&key->p); - mp_init(&key->g); - } + int ret = 0; + + if (key == NULL) + return BAD_FUNC_ARG; + + if (mp_init_multi(&key->p, &key->g, NULL, NULL, NULL, NULL) != MP_OKAY) + ret = MEMORY_E; + + return ret; } diff --git a/wolfcrypt/src/dsa.c b/wolfcrypt/src/dsa.c index dd30d1bf7..8719b4a56 100644 --- a/wolfcrypt/src/dsa.c +++ b/wolfcrypt/src/dsa.c @@ -50,31 +50,35 @@ enum { -void wc_InitDsaKey(DsaKey* key) +int wc_InitDsaKey(DsaKey* key) { if (key == NULL) - return; + return BAD_FUNC_ARG; key->type = -1; /* haven't decided yet */ key->heap = NULL; - /* public alloc parts */ - mp_init(&key->p); - mp_init(&key->q); - mp_init(&key->g); - mp_init(&key->y); + return mp_init_multi( + /* public alloc parts */ + &key->p, + &key->q, + &key->g, + &key->y, - /* private alloc parts */ - mp_init(&key->x); + /* private alloc parts */ + &key->x, + NULL + ); } int wc_InitDsaKey_h(DsaKey* key, void* h) { - wc_InitDsaKey(key); - key->heap = h; + int ret = wc_InitDsaKey(key); + if (ret == 0) + key->heap = h; - return 0; + return ret; } @@ -317,7 +321,13 @@ int wc_MakeDsaParameters(WC_RNG *rng, int modulus_size, DsaKey *dsa) } /* find a value g for which g^tmp2 != 1 */ - mp_set(&dsa->g, 1); + if (mp_set(&dsa->g, 1) != MP_OKAY) { + mp_clear(&dsa->q); + mp_clear(&dsa->p); + mp_clear(&tmp); + mp_clear(&tmp2); + return MP_INIT_E; + } do { err = mp_add_d(&dsa->g, 1, &dsa->g); diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index 17e11bf2f..5b3e3460d 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -1807,10 +1807,12 @@ int ecc_map(ecc_point* P, mp_int* modulus, mp_digit mp) /* special case for point at infinity */ if (mp_cmp_d(P->z, 0) == MP_EQ) { - mp_set(P->x, 0); - mp_set(P->y, 0); - mp_set(P->z, 1); - return MP_OKAY; + err = mp_set(P->x, 0); + if (err == MP_OKAY) + err = mp_set(P->y, 0); + if (err == MP_OKAY) + err = mp_set(P->z, 1); + return err; } if ((err = mp_init_multi(&t1, &t2, NULL, NULL, NULL, NULL)) != MP_OKAY) { @@ -1872,13 +1874,16 @@ int ecc_map(ecc_point* P, mp_int* modulus, mp_digit mp) err = mp_montgomery_reduce(y, modulus, mp); if (err == MP_OKAY) - mp_set(z, 1); + err = mp_set(z, 1); #ifdef ALT_ECC_SIZE /* return result */ - mp_copy(x, P->x); - mp_copy(y, P->y); - mp_copy(z, P->z); + if (err == MP_OKAY) + err = mp_copy(x, P->x); + if (err == MP_OKAY) + err = mp_copy(y, P->y); + if (err == MP_OKAY) + err = mp_copy(z, P->z); #endif done: @@ -2861,7 +2866,7 @@ int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id) if (err == MP_OKAY) err = mp_copy(curve->Gy, base->y); if (err == MP_OKAY) - mp_set(base->z, 1); + err = mp_set(base->z, 1); /* generate k */ if (err == MP_OKAY) @@ -3797,7 +3802,7 @@ int wc_ecc_verify_hash_ex(mp_int *r, mp_int *s, const byte* hash, if (err == MP_OKAY) err = mp_copy(curve->Gy, mG->y); if (err == MP_OKAY) - mp_set(mG->z, 1); + err = mp_set(mG->z, 1); if (err == MP_OKAY) err = mp_copy(key->pubkey.x, mQ->x); @@ -3987,7 +3992,7 @@ int wc_ecc_import_point_der(byte* in, word32 inLen, const int curve_idx, err = mp_read_unsigned_bin(point->y, (byte*)in+1+((inLen-1)>>1), (inLen-1)>>1); if (err == MP_OKAY) - mp_set(point->z, 1); + err = mp_set(point->z, 1); if (err != MP_OKAY) { mp_clear(point->x); @@ -4211,8 +4216,9 @@ int wc_ecc_is_point(ecc_point* ecp, mp_int* a, mp_int* b, mp_int* prime) #ifdef WOLFSSL_CUSTOM_CURVES if (err == MP_OKAY) { /* Use a and prime to determine if a == 3 */ - mp_set(&t2, 0); - err = mp_submod(prime, a, prime, &t2); + err = mp_set(&t2, 0); + if (err == MP_OKAY) + err = mp_submod(prime, a, prime, &t2); } if (err == MP_OKAY && mp_cmp_d(&t2, 3) != MP_EQ) { /* compute y^2 - x^3 + a*x */ @@ -4289,7 +4295,7 @@ static int ecc_check_privkey_gen(ecc_key* key, mp_int* a, mp_int* prime) if (err == MP_OKAY) err = mp_copy(curve->Gy, base->y); if (err == MP_OKAY) - mp_set(base->z, 1); + err = mp_set(base->z, 1); if (err == MP_OKAY) { res = wc_ecc_new_point_h(key->heap); @@ -4576,7 +4582,8 @@ int wc_ecc_import_x963_ex(const byte* in, word32 inLen, ecc_key* key, else { err = mp_submod(curve->prime, &t2, curve->prime, &t2); } - mp_copy(&t2, key->pubkey.y); + if (err == MP_OKAY) + err = mp_copy(&t2, key->pubkey.y); } if (did_init) { @@ -4594,7 +4601,7 @@ int wc_ecc_import_x963_ex(const byte* in, word32 inLen, ecc_key* key, err = mp_read_unsigned_bin(key->pubkey.y, (byte*)in+1+((inLen-1)>>1), (inLen-1)>>1); if (err == MP_OKAY) - mp_set(key->pubkey.z, 1); + err = mp_set(key->pubkey.z, 1); #ifdef WOLFSSL_VALIDATE_ECC_IMPORT if (err == MP_OKAY) @@ -4935,7 +4942,7 @@ static int wc_ecc_import_raw_private(ecc_key* key, const char* qx, err = mp_read_radix(key->pubkey.y, qy, 16); if (err == MP_OKAY) - mp_set(key->pubkey.z, 1); + err = mp_set(key->pubkey.z, 1); /* import private key */ if (err == MP_OKAY) { @@ -5886,10 +5893,14 @@ static int accel_fp_mul(int idx, mp_int* k, ecc_point *R, mp_int* a, goto done; } } else { - mp_copy(k, &tk); + if ((err = mp_copy(k, &tk)) != MP_OKAY) { + goto done; + } } } else { - mp_copy(k, &tk); + if ((err = mp_copy(k, &tk)) != MP_OKAY) { + goto done; + } } /* get bitlen and round up to next multiple of FP_LUT */ @@ -6035,10 +6046,14 @@ static int accel_fp_mul2add(int idx1, int idx2, goto done; } } else { - mp_copy(kA, &tka); + if ((err = mp_copy(kA, &tka)) != MP_OKAY) { + goto done; + } } } else { - mp_copy(kA, &tka); + if ((err = mp_copy(kA, &tka)) != MP_OKAY) { + goto done; + } } /* if it's smaller than modulus we fine */ @@ -6062,10 +6077,14 @@ static int accel_fp_mul2add(int idx1, int idx2, goto done; } } else { - mp_copy(kB, &tkb); + if ((err = mp_copy(kB, &tkb)) != MP_OKAY) { + goto done; + } } } else { - mp_copy(kB, &tkb); + if ((err = mp_copy(kB, &tkb)) != MP_OKAY) { + goto done; + } } /* get bitlen and round up to next multiple of FP_LUT */ @@ -7176,8 +7195,7 @@ int mp_sqrtmod_prime(mp_int* n, mp_int* prime, mp_int* ret) return MP_OKAY; } if (mp_cmp_d(n, 1) == MP_EQ) { - mp_set(ret, 1); - return MP_OKAY; + return mp_set(ret, 1); } /* prime must be odd */ @@ -7328,7 +7346,7 @@ int mp_sqrtmod_prime(mp_int* n, mp_int* prime, mp_int* ret) /* M = i */ if (res == MP_OKAY) - mp_set(&M, i); + res = mp_set(&M, i); } } } diff --git a/wolfcrypt/src/integer.c b/wolfcrypt/src/integer.c index eabfa52ee..e4be0c7b1 100644 --- a/wolfcrypt/src/integer.c +++ b/wolfcrypt/src/integer.c @@ -146,7 +146,7 @@ int mp_init (mp_int * a) if (a == NULL) return MP_VAL; - /* defer memory allocation */ + /* defer allocation until mp_grow */ a->dp = NULL; /* set the used to zero, allocated digits to the default precision @@ -175,7 +175,7 @@ void mp_clear (mp_int * a) } /* free ram */ - XFREE(a->dp, 0, DYNAMIC_TYPE_BIGINT); + XFREE(a->dp, NULL, DYNAMIC_TYPE_BIGINT); /* reset members to make debugging easier */ a->dp = NULL; @@ -195,7 +195,7 @@ void mp_forcezero(mp_int * a) ForceZero(a->dp, a->used * sizeof(mp_digit)); /* free ram */ - XFREE(a->dp, 0, DYNAMIC_TYPE_BIGINT); + XFREE(a->dp, NULL, DYNAMIC_TYPE_BIGINT); /* reset members to make debugging easier */ a->dp = NULL; @@ -317,7 +317,7 @@ int mp_copy (mp_int * a, mp_int * b) } /* grow dest */ - if (b->alloc < a->used || b->alloc == 0) { + if (b->alloc < a->used || a->used == 0) { if ((res = mp_grow (b, a->used)) != MP_OKAY) { return res; } @@ -371,7 +371,7 @@ int mp_grow (mp_int * a, int size) * to overwrite the dp member of a. */ tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * size, NULL, - DYNAMIC_TYPE_BIGINT); + DYNAMIC_TYPE_BIGINT); if (tmp == NULL) { /* reallocation failed but "a" is still valid [can be freed] */ return MP_MEM; @@ -939,7 +939,9 @@ int fast_mp_invmod (mp_int * a, mp_int * b, mp_int * c) if ((res = mp_copy (&y, &v)) != MP_OKAY) { goto LBL_ERR; } - mp_set (&D, 1); + if ((res = mp_set (&D, 1)) != MP_OKAY) { + goto LBL_ERR; + } top: /* 4. while u is even do */ @@ -1093,8 +1095,12 @@ int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c) if ((res = mp_copy (&y, &v)) != MP_OKAY) { goto LBL_ERR; } - mp_set (&A, 1); - mp_set (&D, 1); + if ((res = mp_set (&A, 1)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_set (&D, 1)) != MP_OKAY) { + goto LBL_ERR; + } top: /* 4. while u is even do */ @@ -1299,12 +1305,16 @@ int mp_cmp_d(mp_int * a, mp_digit b) /* set to a digit */ -void mp_set (mp_int * a, mp_digit b) +int mp_set (mp_int * a, mp_digit b) { + int res; mp_zero (a); - mp_grow(a, 1); - a->dp[0] = (mp_digit)(b & MP_MASK); - a->used = (a->dp[0] != 0) ? 1 : 0; + res = mp_grow (a, 1); + if (res == MP_OKAY) { + a->dp[0] = (mp_digit)(b & MP_MASK); + a->used = (a->dp[0] != 0) ? 1 : 0; + } + return res; } /* chek if a bit is set */ @@ -1372,8 +1382,9 @@ int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d) return res; } - - mp_set(&tq, 1); + if ((res = mp_set(&tq, 1)) != MP_OKAY) { + return res; + } n = mp_count_bits(a) - mp_count_bits(b); if (((res = mp_abs(a, &ta)) != MP_OKAY) || ((res = mp_abs(b, &tb)) != MP_OKAY) || @@ -1931,7 +1942,9 @@ int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, goto LBL_RES; } } else { - mp_set(&res, 1); + if ((err = mp_set(&res, 1)) != MP_OKAY) { + goto LBL_RES; + } if ((err = mp_mod(G, P, &M[1])) != MP_OKAY) { goto LBL_RES; } @@ -2159,7 +2172,7 @@ int fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) } #ifdef WOLFSSL_SMALL_STACK - W = (mp_word*)XMALLOC(sizeof(mp_word) * MP_WARRAY, 0, DYNAMIC_TYPE_BIGINT); + W = (mp_word*)XMALLOC(sizeof(mp_word) * MP_WARRAY, NULL, DYNAMIC_TYPE_BIGINT); if (W == NULL) return MP_MEM; #endif @@ -2286,7 +2299,7 @@ int fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) mp_clamp (x); #ifdef WOLFSSL_SMALL_STACK - XFREE(W, 0, DYNAMIC_TYPE_BIGINT); + XFREE(W, NULL, DYNAMIC_TYPE_BIGINT); #endif /* if A >= m then A = A - m */ @@ -2883,7 +2896,7 @@ int mp_init_size (mp_int * a, int size) size += (MP_PREC * 2) - (size % MP_PREC); /* alloc mem */ - a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size, 0, + a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size, NULL, DYNAMIC_TYPE_BIGINT); if (a->dp == NULL) { return MP_MEM; @@ -2936,7 +2949,7 @@ int fast_s_mp_sqr (mp_int * a, mp_int * b) return MP_RANGE; /* TAO range check */ #ifdef WOLFSSL_SMALL_STACK - W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, 0, DYNAMIC_TYPE_BIGINT); + W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, NULL, DYNAMIC_TYPE_BIGINT); if (W == NULL) return MP_MEM; #endif @@ -3009,7 +3022,7 @@ int fast_s_mp_sqr (mp_int * a, mp_int * b) mp_clamp (b); #ifdef WOLFSSL_SMALL_STACK - XFREE(W, 0, DYNAMIC_TYPE_BIGINT); + XFREE(W, NULL, DYNAMIC_TYPE_BIGINT); #endif return MP_OKAY; @@ -3055,7 +3068,7 @@ int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) return MP_RANGE; /* TAO range check */ #ifdef WOLFSSL_SMALL_STACK - W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, 0, DYNAMIC_TYPE_BIGINT); + W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, NULL, DYNAMIC_TYPE_BIGINT); if (W == NULL) return MP_MEM; #endif @@ -3113,7 +3126,7 @@ int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) mp_clamp (c); #ifdef WOLFSSL_SMALL_STACK - XFREE(W, 0, DYNAMIC_TYPE_BIGINT); + XFREE(W, NULL, DYNAMIC_TYPE_BIGINT); #endif return MP_OKAY; @@ -3273,7 +3286,9 @@ int mp_montgomery_calc_normalization (mp_int * a, mp_int * b) return res; } } else { - mp_set(a, 1); + if ((res = mp_set(a, 1)) != MP_OKAY) { + return res; + } bits = 1; } @@ -3412,7 +3427,9 @@ int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode) if ((err = mp_init (&res)) != MP_OKAY) { goto LBL_MU; } - mp_set (&res, 1); + if ((err = mp_set (&res, 1)) != MP_OKAY) { + goto LBL_MU; + } /* set initial mode and bit cnt */ mode = 0; @@ -3599,7 +3616,8 @@ int mp_reduce (mp_int * x, mp_int * m, mp_int * mu) /* If x < 0, add b**(k+1) to it */ if (mp_cmp_d (x, 0) == MP_LT) { - mp_set (&q, 1); + if ((res = mp_set (&q, 1)) != MP_OKAY) + goto CLEANUP; if ((res = mp_lshd (&q, um + 1)) != MP_OKAY) goto CLEANUP; if ((res = mp_add (x, &q, x)) != MP_OKAY) @@ -3777,7 +3795,7 @@ int fast_s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs) return MP_RANGE; /* TAO range check */ #ifdef WOLFSSL_SMALL_STACK - W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, 0, DYNAMIC_TYPE_BIGINT); + W = (mp_digit*)XMALLOC(sizeof(mp_digit) * MP_WARRAY, NULL, DYNAMIC_TYPE_BIGINT); if (W == NULL) return MP_MEM; #endif @@ -3835,7 +3853,7 @@ int fast_s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs) mp_clamp (c); #ifdef WOLFSSL_SMALL_STACK - XFREE(W, 0, DYNAMIC_TYPE_BIGINT); + XFREE(W, NULL, DYNAMIC_TYPE_BIGINT); #endif return MP_OKAY; @@ -4466,7 +4484,9 @@ int mp_prime_is_prime (mp_int * a, int t, int *result) for (ix = 0; ix < t; ix++) { /* set the prime */ - mp_set (&b, ltm_prime_tab[ix]); + if ((err = mp_set (&b, ltm_prime_tab[ix])) != MP_OKAY) { + goto LBL_B; + } if ((err = mp_prime_miller_rabin (a, &b, &res)) != MP_OKAY) { goto LBL_B; diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index fb560b6fe..24aaaecc8 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -5155,13 +5155,13 @@ int rsa_test(void) } while (ret == WC_PENDING_E); if (ret < 0) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -444; } if (XMEMCMP(plain, in, inLen)) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -445; } #endif /* !HAVE_FAST_RSA && !HAVE_FIPS */ @@ -5181,7 +5181,7 @@ int rsa_test(void) file2 = fopen(clientCert, "rb"); if (!file2) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -49; } @@ -5200,7 +5200,7 @@ int rsa_test(void) if (ret != 0) { FreeDecodedCert(&cert); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -491; } @@ -5223,7 +5223,7 @@ int rsa_test(void) err_sys("can't open ./certs/client-keyPub.der, " "Please run from wolfSSL home dir", -40); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -50; } @@ -5234,7 +5234,7 @@ int rsa_test(void) ret = wc_InitRsaKey(&keypub, HEAP_HINT); if (ret != 0) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -51; } idx = 0; @@ -5243,7 +5243,7 @@ int rsa_test(void) if (ret != 0) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&keypub); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -52; } #endif /* WOLFSSL_CERT_EXT */ @@ -5262,13 +5262,13 @@ int rsa_test(void) ret = wc_InitRsaKey(&genKey, HEAP_HINT); if (ret != 0) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -300; } ret = wc_MakeRsaKey(&genKey, 1024, 65537, &rng); if (ret != 0) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -301; } @@ -5276,7 +5276,7 @@ int rsa_test(void) if (der == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -307; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); @@ -5284,7 +5284,7 @@ int rsa_test(void) XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -308; } @@ -5293,7 +5293,7 @@ int rsa_test(void) XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -302; } @@ -5307,7 +5307,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -303; } ret = (int)fwrite(der, 1, derSz, keyFile); @@ -5317,7 +5317,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -313; } @@ -5327,7 +5327,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -304; } @@ -5341,7 +5341,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -305; } ret = (int)fwrite(pem, 1, pemSz, pemFile); @@ -5351,7 +5351,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -314; } @@ -5361,7 +5361,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -3060; } idx = 0; @@ -5372,7 +5372,7 @@ int rsa_test(void) XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&derIn); wc_FreeRsaKey(&genKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -306; } @@ -5401,14 +5401,14 @@ int rsa_test(void) DYNAMIC_TYPE_TMP_BUFFER); if (derCert == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -309; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (pem == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -310; } @@ -5437,7 +5437,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -398; } @@ -5446,7 +5446,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -399; } @@ -5455,7 +5455,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -400; } #endif /* WOLFSSL_CERT_EXT */ @@ -5465,7 +5465,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -401; } @@ -5476,7 +5476,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -402; } FreeDecodedCert(&decode); @@ -5491,7 +5491,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -403; } ret = (int)fwrite(derCert, 1, certSz, derFile); @@ -5500,7 +5500,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -414; } @@ -5509,7 +5509,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -404; } @@ -5522,7 +5522,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -405; } ret = (int)fwrite(pem, 1, pemSz, pemFile); @@ -5531,7 +5531,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -406; } XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); @@ -5558,14 +5558,14 @@ int rsa_test(void) DYNAMIC_TYPE_TMP_BUFFER); if (derCert == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -311; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (pem == NULL) { XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -312; } @@ -5575,7 +5575,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -412; } @@ -5587,7 +5587,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -411; } ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes3); @@ -5596,7 +5596,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -413; } @@ -5625,7 +5625,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -398; } @@ -5634,7 +5634,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -399; } @@ -5643,7 +5643,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -400; } #endif /* WOLFSSL_CERT_EXT */ @@ -5654,7 +5654,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -405; } @@ -5664,7 +5664,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -407; } @@ -5675,7 +5675,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -408; } @@ -5687,7 +5687,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -409; } FreeDecodedCert(&decode); @@ -5703,7 +5703,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -410; } ret = (int)fwrite(derCert, 1, certSz, derFile); @@ -5713,7 +5713,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -416; } @@ -5723,7 +5723,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -411; } @@ -5737,7 +5737,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -412; } ret = (int)fwrite(pem, 1, pemSz, pemFile); @@ -5747,7 +5747,7 @@ int rsa_test(void) XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); fclose(pemFile); wc_FreeRsaKey(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -415; } fclose(pemFile); @@ -5780,14 +5780,14 @@ int rsa_test(void) DYNAMIC_TYPE_TMP_BUFFER); if (derCert == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5311; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (pem == NULL) { XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5312; } @@ -5797,7 +5797,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5412; } @@ -5810,7 +5810,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5413; } @@ -5839,7 +5839,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5500; } @@ -5851,7 +5851,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5501; } @@ -5862,7 +5862,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKeyPub); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5502; } @@ -5872,7 +5872,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKeyPub); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5503; } @@ -5882,7 +5882,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKeyPub); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5504; } wc_ecc_free(&caKeyPub); @@ -5892,7 +5892,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5505; } #endif /* WOLFSSL_CERT_EXT */ @@ -5903,7 +5903,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5405; } @@ -5913,7 +5913,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5407; } @@ -5924,7 +5924,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5408; } @@ -5936,7 +5936,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5409; } FreeDecodedCert(&decode); @@ -5952,7 +5952,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5410; } ret = (int)fwrite(derCert, 1, certSz, derFile); @@ -5962,7 +5962,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5414; } @@ -5972,7 +5972,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5411; } @@ -5986,7 +5986,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5412; } ret = (int)fwrite(pem, 1, pemSz, pemFile); @@ -5995,7 +5995,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_ecc_free(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -5415; } @@ -6025,14 +6025,14 @@ int rsa_test(void) DYNAMIC_TYPE_TMP_BUFFER); if (derCert == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -311; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (pem == NULL) { XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -312; } @@ -6050,7 +6050,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -448; } @@ -6061,7 +6061,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -449; } @@ -6072,7 +6072,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -450; } @@ -6082,7 +6082,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -451; } @@ -6092,7 +6092,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -452; } @@ -6104,7 +6104,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -453; } ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes); @@ -6112,7 +6112,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -454; } @@ -6135,7 +6135,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -496; } @@ -6144,7 +6144,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -495; } @@ -6154,7 +6154,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -494; } #endif /* WOLFSSL_CERT_EXT */ @@ -6165,7 +6165,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -455; } @@ -6176,7 +6176,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); wc_FreeRsaKey(&caKey); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -456; } @@ -6187,7 +6187,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -457; } @@ -6199,7 +6199,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -458; } FreeDecodedCert(&decode); @@ -6209,7 +6209,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -459; } ret = (int)fwrite(derCert, 1, certSz, derFile); @@ -6218,7 +6218,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -473; } @@ -6227,7 +6227,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -460; } @@ -6236,7 +6236,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -461; } ret = (int)fwrite(pem, 1, pemSz, pemFile); @@ -6245,7 +6245,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -474; } @@ -6254,7 +6254,7 @@ int rsa_test(void) XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -462; } ret = (int)fwrite(private_key, 1, private_key_len, ntruPrivFile); @@ -6263,7 +6263,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -475; } XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); @@ -6282,14 +6282,14 @@ int rsa_test(void) der = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (der == NULL) { XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -463; } pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); if (pem == NULL) { XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -464; } @@ -6313,7 +6313,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -496; } @@ -6323,7 +6323,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -494; } #endif /* WOLFSSL_CERT_EXT */ @@ -6333,7 +6333,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -465; } @@ -6343,7 +6343,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -466; } @@ -6352,7 +6352,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -467; } @@ -6365,7 +6365,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -468; } @@ -6375,7 +6375,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -471; } @@ -6388,7 +6388,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -469; } ret = (int)fwrite(pem, 1, pemSz, reqFile); @@ -6397,7 +6397,7 @@ int rsa_test(void) XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); - wc_FreeRng(&rng); + wc_FreeRng(&rng); return -470; } @@ -6473,8 +6473,13 @@ int dh_test(void) (void)tmp; (void)bytes; - wc_InitDhKey(&key); - wc_InitDhKey(&key2); + ret = wc_InitDhKey(&key); + if (ret != 0) + return -57; + ret = wc_InitDhKey(&key2); + if (ret != 0) + return -57; + #ifdef NO_ASN ret = wc_DhSetKey(&key, dh_p, sizeof(dh_p), dh_g, sizeof(dh_g)); if (ret != 0) @@ -6566,7 +6571,9 @@ int dsa_test(void) wc_ShaUpdate(&sha, tmp, bytes); wc_ShaFinal(&sha, hash); - wc_InitDsaKey(&key); + ret = wc_InitDsaKey(&key); + if (ret != 0) return -66; + ret = wc_DsaPrivateKeyDecode(tmp, &idx, &key, bytes); if (ret != 0) return -61; @@ -6593,12 +6600,20 @@ int dsa_test(void) FILE* keyFile; FILE* pemFile; - wc_InitDsaKey(&genKey); + ret = wc_InitDsaKey(&genKey); + if (ret != 0) return -361; + ret = wc_MakeDsaParameters(&rng, 1024, &genKey); - if (ret != 0) return -362; + if (ret != 0) { + wc_FreeDsaKey(&genKey); + return -362; + } ret = wc_MakeDsaKey(&rng, &genKey); - if (ret != 0) return -363; + if (ret != 0) { + wc_FreeDsaKey(&genKey); + return -363; + } der = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); if (der == NULL) { @@ -6667,7 +6682,14 @@ int dsa_test(void) return -371; } - wc_InitDsaKey(&derIn); + ret = wc_InitDsaKey(&derIn); + if (ret != 0) { + XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); + XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); + wc_FreeDsaKey(&genKey); + return -374; + } + idx = 0; ret = wc_DsaPrivateKeyDecode(der, &idx, &derIn, derSz); if (ret != 0) { diff --git a/wolfssl/wolfcrypt/dh.h b/wolfssl/wolfcrypt/dh.h index 6ac7be65e..332d460f0 100644 --- a/wolfssl/wolfcrypt/dh.h +++ b/wolfssl/wolfcrypt/dh.h @@ -41,7 +41,7 @@ typedef struct DhKey { } DhKey; -WOLFSSL_API void wc_InitDhKey(DhKey* key); +WOLFSSL_API int wc_InitDhKey(DhKey* key); WOLFSSL_API void wc_FreeDhKey(DhKey* key); WOLFSSL_API int wc_DhGenerateKeyPair(DhKey* key, WC_RNG* rng, byte* priv, diff --git a/wolfssl/wolfcrypt/dsa.h b/wolfssl/wolfcrypt/dsa.h index a8d14bbc7..3476a556a 100644 --- a/wolfssl/wolfcrypt/dsa.h +++ b/wolfssl/wolfcrypt/dsa.h @@ -56,8 +56,8 @@ typedef struct DsaKey { void* heap; /* memory hint */ } DsaKey; -WOLFSSL_API void wc_InitDsaKey(DsaKey* key); -WOLFSSL_API int wc_InitDsaKey_h(DsaKey* key, void* h); +WOLFSSL_API int wc_InitDsaKey(DsaKey* key); +WOLFSSL_API int wc_InitDsaKey_h(DsaKey* key, void* h); WOLFSSL_API void wc_FreeDsaKey(DsaKey* key); WOLFSSL_API int wc_DsaSign(const byte* digest, byte* out, DsaKey* key, WC_RNG* rng); diff --git a/wolfssl/wolfcrypt/integer.h b/wolfssl/wolfcrypt/integer.h index 7cd447a4c..3e342c088 100644 --- a/wolfssl/wolfcrypt/integer.h +++ b/wolfssl/wolfcrypt/integer.h @@ -37,7 +37,7 @@ #include #else -#include +#include #ifndef CHAR_BIT #include @@ -96,7 +96,7 @@ extern "C" { #elif defined(MP_16BIT) || defined(NO_64BIT) typedef unsigned short mp_digit; typedef unsigned int mp_word; - #define DIGIT_BIT 12 + #define DIGIT_BIT 12 #elif defined(MP_64BIT) /* for GCC only on supported platforms */ typedef unsigned long long mp_digit; /* 64 bit type, 128 uses mode(TI) */ @@ -265,7 +265,7 @@ int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c); int mp_cmp_mag (mp_int * a, mp_int * b); int mp_cmp (mp_int * a, mp_int * b); int mp_cmp_d(mp_int * a, mp_digit b); -void mp_set (mp_int * a, mp_digit b); +int mp_set (mp_int * a, mp_digit b); int mp_is_bit_set (mp_int * a, mp_digit b); int mp_mod (mp_int * a, mp_int * b, mp_int * c); int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d);