]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Free PKEY_CTX when needed
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 5 Sep 2018 07:40:48 +0000 (09:40 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 5 Sep 2018 07:40:48 +0000 (09:40 +0200)
pdns/opensslsigners.cc

index 8ed251761b048869953d90e15f7fca1661457377..4a6600af6de54723db3398e6a2ee79859742ddff 100644 (file)
@@ -990,11 +990,14 @@ void OpenSSLEDDSADNSCryptoKeyEngine::create(unsigned int bits)
     throw runtime_error(getName()+" context initialization failed");
   }
   if (EVP_PKEY_keygen_init(pctx) < 1) {
+    EVP_PKEY_CTX_free(pctx);
     throw runtime_error(getName()+" keygen initialization failed");
   }
   if (EVP_PKEY_keygen(pctx, &d_edkey) < 1) {
+    EVP_PKEY_CTX_free(pctx);
     throw runtime_error(getName()+" key generation failed");
   }
+  EVP_PKEY_CTX_free(pctx);
 }
 
 DNSCryptoKeyEngine::storvector_t OpenSSLEDDSADNSCryptoKeyEngine::convertToISCVector() const