if (iqmp == NULL) {
RSA_free(key);
BN_clear_free(dmq1);
- BN_clear_free(iqmp);
+ BN_clear_free(dmp1);
throw runtime_error(getName()+" allocation of BIGNUM iqmp failed");
}
RSA_set0_crt_params(key, dmp1, dmq1, iqmp);
BIGNUM *n = BN_bin2bn((unsigned char*)modulus.c_str(), modulus.length(), NULL);
if (!n) {
RSA_free(key);
+ BN_clear_free(e);
throw runtime_error(getName()+" error loading n value of public key");
}
int ret = EC_POINT_oct2point(d_ecgroup, pub_key, (unsigned char*) ecdsaPoint.c_str(), ecdsaPoint.length(), d_ctx);
if (ret != 1) {
+ EC_POINT_free(pub_key);
throw runtime_error(getName()+" reading ECP point from binary failed");
}