[FFmpeg-devel] [PATCH] avformat/tls_openssl: fix warnings when openssl is lower version

Jack Lau jacklau1222gm at gmail.com
Mon Jun 9 03:26:58 EEST 2025



> On Jun 8, 2025, at 04:04, Andreas Rheinhardt <andreas.rheinhardt at outlook.com> wrote:
> 
> Jack Lau via ffmpeg-devel:
>> In higher versions (like openssl 1.1.1 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 at qq.com>
>> ---
>> libavformat/tls_openssl.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
>> index 86e8935fee..5387e21df1 100644
>> --- a/libavformat/tls_openssl.c
>> +++ b/libavformat/tls_openssl.c
>> @@ -415,7 +415,7 @@ error:
>>  */
>> static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
>> {
>> -    BIO *mem = BIO_new_mem_buf(pem_str, -1);
>> +    BIO *mem = BIO_new_mem_buf((void *)pem_str, -1);
>>     if (!mem) {
>>         av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
>>         return NULL;
>> @@ -445,7 +445,7 @@ static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
>>  */
>> static X509 *cert_from_pem_string(const char *pem_str)
>> {
>> -    BIO *mem = BIO_new_mem_buf(pem_str, -1);
>> +    BIO *mem = BIO_new_mem_buf((void *)pem_str, -1);
>>     if (!mem) {
>>         av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
>>         return NULL;
> 
> Shouldn't this use #if checks to only cast const away when building for
> old versions so that we do not forget to remove these casts when we drop
> support for these old versions (and to avoid warnings when using
> -Wcast-qual)?
Thanks for the review! The Patch v2 already is here https://ffmpeg.org/pipermail/ffmpeg-devel/2025-June/344816.html

Thanks
Jack
> 
> - Andreas
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org <mailto:ffmpeg-devel at ffmpeg.org>
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org <mailto:ffmpeg-devel-request at ffmpeg.org> with subject "unsubscribe".



More information about the ffmpeg-devel mailing list