I have the following code: setup_ssl (char *server_name, char *port, SSL_CTX *ctx) { BIO *output = BIO_new_ssl_connect (ctx); if (!output) { return (NULL); } BIO_get_ssl (output, &ssl); SSL_set_mode (ssl, SSL_MODE_AUTO_RETRY); SSL_set_verify (ssl, true, NULL); BIO_set_conn_hostname (output, server_name); BIO_set_conn_port(output, port);
if (BIO_do_connect (output) <= 0) { BIO_free (output); return (NULL); } } If the server I'm trying to connect to does not have ssl enabled, I get the error: SSL23_GET_SERVER_HELLO:unknown protocol and BIO_do_connect fails as expected, but BIO_free gives this error: SSL_shutdown:shutdown while in init If I don't free it, I have a memory leak. Is there something else I need to do to clean up the BIO? I tried calling BIO_do_handshake, but that crashes (not surprised). -- Chris Bare
-- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users