gpt4 book ai didi

c - X509_NAME_oneline 返回的自由字符串

转载 作者:行者123 更新时间:2023-12-04 12:32:17 27 4
gpt4 key购买 nike

我正在尝试使用一个简单的 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) 行崩溃。没有这些行,程序就不会崩溃。如果我删除这些行,我担心在这种情况下一些分配的资源将不会被释放 - 我应该怎么做?

谢谢。

最佳答案

不确定,也许你可以使用:

OPENSSL_free(行);

我只是在我的 Windows 客户端上使用这段代码,它工作正常:)

关于c - X509_NAME_oneline 返回的自由字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15175917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com