簡単な SSL の例を使用しようとしています。
これはいくつかのコードです:
void ShowCerts(SSL* ssl)
{
X509 *cert;
char *line;
cert = SSL_get_peer_certificate(ssl); /* get the server's certificate */
if ( cert != NULL )
{
printf("Server certificates:\n");
line = X509_NAME_oneline(X509_get_subject_name(cert), 0, 0);
printf("Subject: %s\n", line);
free(line); /* free the malloc'ed string */
line = X509_NAME_oneline(X509_get_issuer_name(cert), 0, 0);
printf("Issuer: %s\n", line);
free(line); /* free the malloc'ed string */
X509_free(cert); /* free the malloc'ed certificate copy */
}
else
printf("No certificates.\n");
}
コード行でプログラムがクラッシュしfree(line)
ます。これらの行がなくても、プログラムはクラッシュすることなく動作します。これらの行を削除すると、この場合、割り当てられたリソースの一部が解放されないのではないかと心配です。どうすればよいですか?
ありがとう。