X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=test%2Fevp_test.c;h=700923b0912e0dd306c3e34a6e4c64a9760800b3;hp=36e29c4bec26cbc887e3616714b4d5a624eb7599;hb=9e206ce5f80172136b503ca23fbd8e53b78eb4b7;hpb=d72a00416a0691bfd4920008767221bb4082a2ed diff --git a/test/evp_test.c b/test/evp_test.c index 36e29c4bec..700923b091 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -1023,8 +1023,11 @@ static int pkey_test_init(EVP_TEST *t, const char *name, return 0; } kdata->keyop = keyop; - if (!TEST_ptr(kdata->ctx = EVP_PKEY_CTX_new(pkey, NULL))) + if (!TEST_ptr(kdata->ctx = EVP_PKEY_CTX_new(pkey, NULL))) { + EVP_PKEY_free(pkey); + OPENSSL_free(kdata); return 0; + } if (keyopinit(kdata->ctx) <= 0) t->err = "KEYOP_INIT_ERROR"; t->data = kdata; @@ -1624,10 +1627,15 @@ static int kdf_test_init(EVP_TEST *t, const char *name) if (!TEST_ptr(kdata = OPENSSL_zalloc(sizeof(*kdata)))) return 0; kdata->ctx = EVP_PKEY_CTX_new_id(OBJ_sn2nid(name), NULL); - if (kdata->ctx == NULL) + if (kdata->ctx == NULL) { + OPENSSL_free(kdata); return 0; - if (EVP_PKEY_derive_init(kdata->ctx) <= 0) + } + if (EVP_PKEY_derive_init(kdata->ctx) <= 0) { + EVP_PKEY_CTX_free(kdata->ctx); + OPENSSL_free(kdata); return 0; + } t->data = kdata; return 1; }