[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