forked from wolfSSL/wolfssl
free memory in test case
This commit is contained in:
@ -28771,82 +28771,99 @@ static int sakke_op_test(SakkeKey* priv, SakkeKey* pub, WC_RNG* rng,
|
||||
|
||||
int sakke_test(void)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
WC_RNG rng;
|
||||
SakkeKey* priv;
|
||||
SakkeKey* pub;
|
||||
SakkeKey* key;
|
||||
SakkeKey* priv = NULL;
|
||||
SakkeKey* pub = NULL;
|
||||
SakkeKey* key = NULL;
|
||||
ecc_point* rsk = NULL;
|
||||
|
||||
priv = (SakkeKey*)XMALLOC(sizeof(SakkeKey), HEAP_HINT,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (priv == NULL) {
|
||||
return -10404;
|
||||
ret = -10404;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
pub = (SakkeKey*)XMALLOC(sizeof(SakkeKey), HEAP_HINT,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (pub == NULL) {
|
||||
XFREE(priv, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
return -10405;
|
||||
ret = -10405;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
key = (SakkeKey*)XMALLOC(sizeof(SakkeKey), HEAP_HINT,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (key == NULL) {
|
||||
XFREE(pub, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
XFREE(priv, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
return -10406;
|
||||
ret = -10406;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef HAVE_FIPS
|
||||
if (ret == 0) {
|
||||
#ifndef HAVE_FIPS
|
||||
ret = wc_InitRng_ex(&rng, HEAP_HINT, devId);
|
||||
#else
|
||||
#else
|
||||
ret = wc_InitRng(&rng);
|
||||
#endif
|
||||
#endif
|
||||
if (ret != 0)
|
||||
return -10400;
|
||||
ret = -10400;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
rsk = wc_ecc_new_point();
|
||||
if (rsk == NULL)
|
||||
return -10401;
|
||||
ret = -10401;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = wc_InitSakkeKey(pub, HEAP_HINT, INVALID_DEVID);
|
||||
if (ret != 0)
|
||||
return -10402;
|
||||
ret = -10402;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = wc_InitSakkeKey(priv, HEAP_HINT, INVALID_DEVID);
|
||||
if (ret != 0)
|
||||
return -10403;
|
||||
ret = -10403;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = sakke_api_test(&rng, key, rsk);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = sakke_kat_derive_test(pub, rsk);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = sakke_kat_encapsulate_test(pub);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = sakke_make_key_test(priv, pub, key, &rng, rsk);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = sakke_op_test(priv, pub, &rng, rsk);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
wc_FreeSakkeKey(priv);
|
||||
wc_FreeSakkeKey(pub);
|
||||
wc_ecc_forcezero_point(rsk);
|
||||
wc_ecc_del_point(rsk);
|
||||
|
||||
if (ret != -10400)
|
||||
wc_FreeRng(&rng);
|
||||
|
||||
if (key != NULL)
|
||||
XFREE(key, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (pub != NULL)
|
||||
XFREE(pub, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (priv != NULL)
|
||||
XFREE(priv, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
#endif /* WOLFCRYPT_HAVE_SAKKE */
|
||||
|
||||
|
Reference in New Issue
Block a user