]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Gracefully handle a failure to create a TLS server context
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 18 Jan 2023 13:58:55 +0000 (14:58 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 18 Jan 2023 13:58:55 +0000 (14:58 +0100)
pdns/libssl.cc

index 6026bdba3f8b6b9cc0e01234eb35aae4a671f907..4c1fa5117449649b5e0b04d5930541a4ca739d3c 100644 (file)
@@ -806,6 +806,11 @@ std::unique_ptr<SSL_CTX, void(*)(SSL_CTX*)> libssl_init_server_context(const TLS
 {
   auto ctx = std::unique_ptr<SSL_CTX, void(*)(SSL_CTX*)>(SSL_CTX_new(SSLv23_server_method()), SSL_CTX_free);
 
+  if (!ctx) {
+    ERR_print_errors_fp(stderr);
+    throw std::runtime_error("Error creating an OpenSSL server context");
+  }
+
   int sslOptions =
     SSL_OP_NO_SSLv2 |
     SSL_OP_NO_SSLv3 |