1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

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>
This commit is contained in:
Jack Lau
2025-06-15 23:15:45 +08:00
committed by Zhao Zhili
parent 64e6f5d5fa
commit 177b92df2b

View File

@ -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;