[FFmpeg-devel] [PATCH 1/4] lavf/tls_openssl: silence warning on OpenSSL 1.1 and later

Rodger Combs rodger.combs at gmail.com
Thu Jan 17 11:22:00 EET 2019



> On Jan 17, 2019, at 03:12, Nicolas George <george at nsup.org> wrote:
> 
> Signed PGP part
> Rodger Combs (12019-01-17):
>> ---
>> libavformat/tls_openssl.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
>> index 7ae71bdaf3..faa5b8636e 100644
>> --- a/libavformat/tls_openssl.c
>> +++ b/libavformat/tls_openssl.c
>> @@ -102,7 +102,7 @@ void ff_openssl_deinit(void)
>>     openssl_init--;
>>     if (!openssl_init) {
>> #if HAVE_THREADS
> 
>> -        if (CRYPTO_get_locking_callback() == openssl_lock) {
>> +        if (CRYPTO_get_locking_callback() == &openssl_lock) {
> 
> Using the & operator on a function seems strange. What warnings is it
> supposed to fix, and why?

CRYPTO_get_locking_callback is a macro returning NULL on 1.1 and later. This triggers -Wtautological-pointer-compare ("comparison of function 'openssl_lock' equal to a null pointer is always false"), which suggests "prefix with the address-of operator to silence this warning", so I did that. We could alternately wrap this code in an OpenSSL version check, but this seemed easier.

> 
>>             int i;
>>             CRYPTO_set_locking_callback(NULL);
>>             for (i = 0; i < CRYPTO_num_locks(); i++)
> 
> Regards,
> 
> --
>  Nicolas George
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190117/de748695/attachment.sig>


More information about the ffmpeg-devel mailing list