aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/tls_openssl.c
diff options
context:
space:
mode:
authorJack Lau <jacklau1222@qq.com>2025-06-15 23:15:45 +0800
committerZhao Zhili <zhilizhao@tencent.com>2025-06-21 12:01:14 +0800
commit177b92df2b054895f75e3cdd00d68b91a47a243f (patch)
treee098bffc30e4fcd59a9dcd3a9183c2b3d0b21be0 /libavformat/tls_openssl.c
parent64e6f5d5fa2d78ed5653bea46276099c9e8116a8 (diff)
downloadffmpeg-177b92df2b054895f75e3cdd00d68b91a47a243f.tar.gz
avformat/tls_openssl: fix warnings when openssl is lower version
api doc: https://docs.openssl.org/1.0.2/man3/BIO_s_mem In higher versions (openssl 1.0.2 and higher), the function signature is BIO *BIO_new_mem_buf(const void *buf, int len), so passing a const string doesn't cause an warnings. However, in lower versions of OpenSSL, the function signature becomes BIO *BIO_new_mem_buf(void *buf, int len), which leads to warnings. OpenSSL guarantees that it will not modify the string, so it's safe to cast the pem_str to (void *) to avoid this warning. Signed-off-by: Jack Lau <jacklau1222@qq.com> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavformat/tls_openssl.c')
-rw-r--r--libavformat/tls_openssl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 86e8935fee..2a3905891d 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -415,7 +415,11 @@ error:
*/
static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
{
+#if OPENSSL_VERSION_NUMBER < 0x10002000L /* OpenSSL 1.0.2 */
+ BIO *mem = BIO_new_mem_buf((void *)pem_str, -1);
+#else
BIO *mem = BIO_new_mem_buf(pem_str, -1);
+#endif
if (!mem) {
av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
return NULL;
@@ -445,7 +449,11 @@ static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
*/
static X509 *cert_from_pem_string(const char *pem_str)
{
+#if OPENSSL_VERSION_NUMBER < 0x10002000L /* OpenSSL 1.0.2 */
+ BIO *mem = BIO_new_mem_buf((void *)pem_str, -1);
+#else
BIO *mem = BIO_new_mem_buf(pem_str, -1);
+#endif
if (!mem) {
av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
return NULL;