ssl: Release the names if `SSL_set0_CA_names` is called after config is shed

Signed-off-by: Xiangfei Ding <xfding@google.com>
Change-Id: Ic400a3e9c25aa7b3f62aa7e6f3b265296a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/98827
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/ssl/ssl_cert.cc b/ssl/ssl_cert.cc
index 7455162..e5c1b0a 100644
--- a/ssl/ssl_cert.cc
+++ b/ssl/ssl_cert.cc
@@ -694,6 +694,7 @@
 void SSL_set0_CA_names(SSL *ssl, STACK_OF(CRYPTO_BUFFER) *name_list) {
   auto *ssl_impl = FromOpaque(ssl);
   if (!ssl_impl->config) {
+    sk_CRYPTO_BUFFER_pop_free(name_list, CRYPTO_BUFFER_free);
     return;
   }
   ssl_impl->config->CA_names.reset(name_list);