X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=engines%2Fe_sureware.c;h=cd0fa4c3979ce35034cd2b47f0428326cad4dd92;hb=e2f06800bce44a87596534b9f23710becf51771a;hp=424b82fd98f72776046d31d893a7909fd5b15573;hpb=3eeaab4bed46e3320947d0f609b82007b65b5a46;p=oweals%2Fopenssl.git diff --git a/engines/e_sureware.c b/engines/e_sureware.c index 424b82fd98..cd0fa4c397 100644 --- a/engines/e_sureware.c +++ b/engines/e_sureware.c @@ -758,8 +758,6 @@ static EVP_PKEY* sureware_load_public(ENGINE *e,const char *key_id,char *hptr,un } return res; err: - if (res) - EVP_PKEY_free(res); #ifndef OPENSSL_NO_RSA if (rsatmp) RSA_free(rsatmp); @@ -976,11 +974,13 @@ static DSA_SIG * surewarehk_dsa_do_sign(const unsigned char *from, int flen, DSA if (!p_surewarehk_Dsa_Sign) { SUREWAREerr(SUREWARE_F_SUREWAREHK_DSA_DO_SIGN,ENGINE_R_NOT_INITIALISED); + goto err; } /* extract ref to private key */ else if (!(hptr=DSA_get_ex_data(dsa, dsaHndidx))) { SUREWAREerr(SUREWARE_F_SUREWAREHK_DSA_DO_SIGN,SUREWARE_R_MISSING_KEY_COMPONENTS); + goto err; } else {