]> granicus.if.org Git - pdns/commitdiff
Don't leak when the loading a public ECDSA key fails
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 13 Jul 2017 14:22:30 +0000 (16:22 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Sun, 26 Nov 2017 09:26:17 +0000 (10:26 +0100)
(cherry picked from commit 5a23b49d6faf7d0d844be0c7bb0ec422733a131f)

pdns/opensslsigners.cc

index 97bab5eb56a9fcb9c3e8b6e13d5cca6b6cbe4321..051734aba9e82fe409e64144912c1e577b141bcb 100644 (file)
@@ -866,6 +866,7 @@ void OpenSSLECDSADNSCryptoKeyEngine::fromPublicKeyString(const std::string& inpu
 
   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");
   }