1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
diff -ru pdns-recursor-4.0.6.orig/opensslsigners.cc pdns-recursor-4.0.6/opensslsigners.cc
--- pdns-recursor-4.0.6.orig/opensslsigners.cc 2017-07-04 17:43:07.000000000 +0200
+++ pdns-recursor-4.0.6/opensslsigners.cc 2017-11-02 18:18:37.489408103 +0100
@@ -474,7 +474,7 @@
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);
@@ -562,6 +562,7 @@
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");
}
@@ -866,6 +867,7 @@
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");
}
|